SPDX-FileCopyrightText: 2025 Yuki Fujieda SPDX-FileCopyrightText: 2025 AlICe laboratory https://alicelab.be
SPDX-License-Identifier: GPL-3.0-or-later
MESH CREATION - 3/10/2024 written under windows 11 - Blender 4.1.0
import bpy
import random
import mathdef clean():
bpy.ops.object.select_all(action="SELECT")
bpy.ops.object.delete()
bpy.ops.outliner.orphans_purge()
clean()
bpy.context.scene.cursor.location = (0, 0, 0)B
1
List1b1 = [(1, 21, 2)]
List1b2 = [(1, 21, 2)]
List1b3 = [(1, 21, 0.5), (1.5, 18, 0.5), (2, 14, 1)]
List1b4 = [(1, 29, 2)]
List1b5 = [(1, 26, 0.5), (1.5, 16, 0.5), (2, 18, 0.5), (2.5, 21, 0.5)]
List1b6 = [(1.5, 9, 0.5), (2, 14, 0.5), (2.5, 18, 0.5)]
List1b7 = [(1, 29, 3.5)]
List1b8 = [(1, 23, 0.5), (1.5, 21, 0.5), (2, 18, 0.5), (2.5, 14, 0.5)]
List1b9 = [(1, 14, 0.5), (1.5, 16, 0.5), (2, 18, 0.5), (2.5, 21, 0.5)]
List1b10 = [(1, 25, 1.5), (2.5, 21, 0.5)]
List1b11 = [(1, 14, 0.5), (1.5, 16, 0.5), (2, 18, 0.5), (2.5, 21, 0.5)]
List1b12 = [(1, 14, 0.5), (1.5, 16, 0.5), (2, 18, 0.5), (2.5, 21, 0.5)]
List1b13 = [(2, 28, 1)]
List1b14 = [(1, 14, 0.5), (1.5, 16, 0.5), (2, 18, 0.5), (2.5, 21, 0.5)]
List1b15 = [(1.5, 18, 0.5), (2, 21, 0.5), (2.5, 26, 0.5)]
List1b16 = [(1, 21, 2)]
List1b17 = [(1, 21, 2)]2
List2b1 = [(23, 6, 1.5), (24.5, 9, 2.5)]
List2b2 = [(23, 6, 1.5), (24.5, 9, 2.5)]
List2b3 = [
(23, 19, 0.5),
(23.5, 23, 0.5),
(24, 25, 0.5),
(24.5, 28, 0.5),
(25, 25, 1),
(26, 23, 0.5),
(26.5, 21, 1),
]
List2b4 = [
(23, 19, 0.5),
(23.5, 21, 0.5),
(24, 23, 0.5),
(24.5, 25, 0.5),
(25, 21, 1.5),
(26.5, 18, 0.5),
(27, 16, 0.5),
(27.5, 15, 0.5),
(28, 14, 0.5),
(28.5, 10, 0.5),
]
List2b5 = [
(23, 19, 0.5),
(23.5, 21, 0.5),
(24, 23, 0.5),
(24.5, 25, 0.5),
(25, 28, 1),
(26, 25, 0.5),
(26.5, 23, 0.5),
(27, 21, 0.5),
(27.5, 18, 0.5),
]
List2b6 = [
(25, 21, 1),
(26, 18, 0.5),
(26.5, 16, 0.5),
(27, 14, 0.5),
(27.5, 16, 0.5),
(28, 18, 0.5),
(28.5, 21, 0.5),
]
List2b7 = [
(23, 30, 1),
(24, 28, 0.5),
(24.5, 26, 0.5),
(25, 25, 0.5),
(25.5, 23, 0.5),
(26, 21, 0.5),
(26.5, 19, 0.5),
(27, 18, 0.5),
(27.5, 16, 0.5),
(28, 14, 0.5),
(28.5, 10, 0.5),
]
List2b8 = [
(23, 19, 0.5),
(23.5, 23, 0.5),
(24, 25, 0.5),
(24.5, 28, 0.5),
(25, 25, 0.5),
(25.5, 23, 0.5),
(26, 25, 0.5),
(26.5, 21, 0.5),
(27, 25, 0.5),
(27.5, 24, 0.5),
(28, 23, 0.5),
(28.5, 22, 0.5),
]
List2b9 = [
(23, 19, 0.5),
(23.5, 21, 0.5),
(24, 23, 0.5),
(24.5, 25, 0.5),
(25, 28, 1),
(26, 25, 0.5),
(26.5, 23, 0.5),
(27, 21, 0.5),
(27.5, 18, 0.5),
(28, 14, 0.5),
(28.5, 10, 0.5),
]
List2b10 = [
(23, 19, 0.5),
(23.5, 21, 0.5),
(24, 23, 0.5),
(24.5, 25, 0.5),
(25, 29, 1),
(26, 25, 0.5),
(26.5, 23, 0.5),
(27, 21, 0.5),
(27.5, 18, 0.5),
(28, 14, 0.5),
(28.5, 10, 0.5),
]
List2b11 = [
(23, 19, 0.5),
(23.5, 21, 0.5),
(24, 23, 0.5),
(24.5, 25, 0.5),
(25, 28, 0.5),
(25.5, 25, 0.5),
(26, 23, 0.5),
(26.5, 21, 0.5),
(27, 18, 0.5),
(27.5, 16, 0.5),
(28, 14, 0.5),
(28.5, 10, 0.5),
]
List2b12 = [
(23, 19, 0.5),
(23.5, 21, 0.5),
(24, 23, 0.5),
(24.5, 25, 0.5),
(25, 28, 0.5),
(25.5, 25, 0.5),
(26, 23, 0.5),
(26.5, 21, 0.5),
(27, 18, 0.5),
(27.5, 18, 0.5),
(28, 14, 0.5),
(28.5, 9, 0.5),
]
List2b13 = [
(23, 30, 3),
(26, 29, 0.5),
(26.5, 28, 0.5),
(27, 25, 0.5),
(27.5, 21, 0.5),
(28, 18, 0.5),
(28.5, 14, 0.5),
]
List2b14 = [
(23, 19, 0.5),
(23.5, 21, 0.5),
(24, 23, 0.5),
(24.5, 25, 0.5),
(25, 28, 1),
(26, 25, 0.5),
(26.5, 23, 0.5),
(27, 21, 0.5),
(27.5, 18, 0.5),
(28, 14, 1),
]
List2b15 = [
(23, 19, 0.5),
(23.5, 21, 0.5),
(24, 23, 0.5),
(24.5, 25, 0.5),
(25, 28, 0.5),
(25.5, 25, 0.5),
(26, 23, 0.5),
(26.5, 21, 0.5),
(27, 18, 0.5),
(27.5, 16, 0.5),
(28, 14, 0.5),
(28.5, 10, 0.5),
]
List2b16 = [(23, 6, 1.5), (24.5, 9, 2.5)]
List2b17 = [(23, 6, 1.5), (24.5, 9, 2.5)]3
List3b1 = [(45, 18, 2), (47, 18, 1.5), (48.5, 21, 4.5)]
List3b2 = [(45, 18, 2), (47, 18, 1.5), (48.5, 21, 4.5)]
List3b3 = [
(45, 18, 0.5),
(45.5, 16, 0.5),
(46, 14, 0.5),
(46.5, 13, 1),
(47.5, 9, 0.5),
(48, 11, 0.5),
(48.5, 13, 0.5),
(49, 14, 0.5),
(49.5, 16, 0.5),
(50, 18, 0.5),
(50.5, 21, 0.5),
(51, 25, 0.5),
(51.5, 24, 0.5),
(52, 23, 0.5),
(52.5, 22, 0.5),
]
List3b4 = [
(45, 25, 1),
(46, 26, 3),
(49, 25, 0.5),
(49.5, 21, 0.5),
(50, 23, 0.5),
(50.5, 25, 0.5),
(51, 22, 0.5),
(51.5, 18, 0.5),
(52, 16, 0.5),
(52.5, 14, 0.5),
]
List3b5 = [
(45, 18, 0.5),
(45.5, 14, 0.5),
(46, 13, 0.5),
(46.5, 9, 0.5),
(47, 11, 0.5),
(47.5, 10, 0.5),
(48, 11, 0.5),
(48.5, 13, 0.5),
(49, 14, 0.5),
(49.5, 16, 0.5),
(50, 18, 0.5),
(50.5, 21, 0.5),
(51, 25, 0.5),
(51.5, 21, 0.5),
(52, 18, 0.5),
(52.5, 14, 0.5),
]
List3b6 = [
(45.5, 16, 0.5),
(46, 19, 0.33),
(46.33, 23, 0.33),
(46.66, 26, 0.33),
(47, 25, 1),
(48, 28, 1),
(49, 29, 1.5),
(50.5, 25, 0.5),
(51, 21, 0.5),
(51.5, 18, 0.5),
]
List3b7 = [
(45.5, 16, 0.5),
(46, 19, 0.33),
(46.33, 23, 0.33),
(46.66, 26, 0.33),
(47, 25, 0.5),
(47.5, 28, 2.5),
(50, 25, 0.5),
(50.5, 23, 0.5),
(51, 21, 0.5),
(51.5, 18, 0.5),
(52, 14, 1),
]
List3b8 = [
(45.5, 16, 0.5),
(46, 19, 0.33),
(46.33, 23, 0.33),
(46.66, 26, 0.33),
(47, 25, 1),
(48, 30, 1),
(49, 28, 1.5),
(50.5, 25, 0.5),
(51, 21, 0.5),
(51.5, 18, 0.5),
]
List3b9 = [
(45.5, 16, 0.5),
(46, 19, 0.33),
(46.33, 23, 0.33),
(46.66, 26, 0.33),
(47, 25, 1),
(48, 21, 1),
(49, 21, 1.5),
(50.5, 18, 0.5),
(51, 16, 1),
(52, 14, 1),
]
List3b10 = [
(45, 18, 1),
(46, 14, 0.5),
(46.5, 9, 0.5),
(47, 13, 1.5),
(48.5, 9, 0.5),
(49, 14, 0.5),
(49.5, 16, 0.5),
(50, 18, 0.5),
(50.5, 19, 0.5),
(51, 25, 0.5),
(51.5, 24, 0.5),
(52, 23, 1),
(52.5, 22, 0.5),
]
List3b11 = [
(45, 18, 0.5),
(47, 18, 1.5),
(48.5, 13, 2),
(50.5, 9, 0.5),
(51, 14, 0.5),
(51.5, 16, 0.5),
(52, 18, 1),
(52.5, 21, 0.5),
]
List3b12 = [
(45, 25, 1),
(47, 28, 2),
(49, 25, 1.5),
(50.5, 28, 0.5),
(51, 25, 0.5),
(51.5, 21, 0.5),
(52, 18, 1),
(52.5, 14, 0.5),
]
List3b13 = [
(46.5, 25, 2),
(48.5, 21, 0.5),
(49, 23, 0.5),
(49.5, 25, 0.5),
(50, 21, 0.5),
(50.5, 18, 1),
(51.5, 18, 0.5),
(52, 14, 0.5),
(52.5, 10, 0.5),
]
List3b14 = [
(45, 21, 1.5),
(46.5, 19, 0.5),
(47, 22, 1),
(48, 20, 0.5),
(48.5, 19, 2),
(50.5, 21, 0.5),
(51, 28, 1),
(52, 27, 0.5),
(52.5, 26, 0.5),
]
List3b15 = [
(46, 24, 1),
(47, 23, 1),
(48, 26, 1),
(49, 25, 1.5),
(50.5, 21, 0.5),
(51, 18, 1),
(52, 14, 1),
]
List3b16 = [(45, 18, 2), (47, 18, 1.5), (48.5, 21, 4.5)]
List3b17 = [(45, 18, 2), (47, 18, 1.5), (48.5, 21, 4.5)]4
List4b1 = [(61, 21, 1.5), (62.5, 21, 1)]
List4b2 = [
(61, 16, 0.5),
(61.5, 19, 0.5),
(62, 23, 0.5),
(62.5, 26, 0.5),
(63, 25, 1.5),
(64.5, 23, 0.5),
]
List4b3 = [(62, 25, 0.5), (62.5, 26, 0.5), (63, 25, 1.5), (64.5, 21, 0.5)]
List4b4 = [
(61.5, 16, 0.5),
(62, 19, 0.33),
(62.33, 23, 0.33),
(62.66, 26, 0.33),
(63, 21, 0.5),
(63.5, 23, 0.5),
(64, 25, 0.5),
(64.5, 28, 0.5),
]
List4b5 = [(61, 18, 1)]
List4b6 = [
(61.5, 30, 0.5),
(62, 28, 0.5),
(62.5, 26, 0.5),
(63, 25, 1.5),
(64.5, 21, 0.5),
]
List4b7 = [(62, 28, 2.5), (64.5, 25, 0.5)]
List4b8 = [
(61, 18, 0.5),
(61.5, 14, 0.5),
(62, 11, 0.5),
(62.5, 7, 0.5),
(63, 13, 0.5),
(
63.5,
9,
0.5,
),
(64, 11, 0.5),
(64.5, 13, 0.5),
]
List4b9 = [(63.5, 25, 1.5)]
List4b10 = [(62.5, 21, 2.5)]
List4b11 = [
(61, 18, 0.5),
(61.5, 14, 0.5),
(62, 11, 0.5),
(62.5, 7, 0.5),
(63, 13, 1.5),
(64.5, 7, 0.5),
]
List4b12 = [(61, 27, 0.5), (61.5, 25, 2.5), (62, 11, 0.5)]
List4b13 = [
(61, 18, 0.5),
(61.5, 14, 0.5),
(62, 11, 0.5),
(62.5, 7, 0.5),
(63, 13, 1.5),
(64.5, 9, 0.5),
]
List4b14 = [(61, 26, 1)]
List4b15 = [(61, 18, 0.5), (61.5, 21, 1.5)]
List4b16 = [(61, 21, 1.5), (62.5, 21, 1)]List4b17 = [none]
ListCodeb1 = [
List1b1,
List1b2,
List1b3,
List1b4,
List1b5,
List1b6,
List1b7,
List1b8,
List1b9,
List1b10,
List1b11,
List1b12,
List1b13,
List1b14,
List1b15,
List1b16,
List1b17,
]
ListCodeb2 = [
List2b1,
List2b2,
List2b3,
List2b4,
List2b5,
List2b6,
List2b7,
List2b8,
List2b9,
List2b10,
List2b11,
List2b12,
List2b13,
List2b14,
List2b15,
List2b16,
List2b17,
]
ListCodeb3 = [
List3b1,
List3b2,
List3b3,
List3b4,
List3b5,
List3b6,
List3b7,
List3b8,
List3b9,
List3b10,
List3b11,
List3b12,
List3b13,
List3b14,
List3b15,
List3b16,
List3b17,
]
ListCodeb4 = [
List4b1,
List4b2,
List4b3,
List4b4,
List4b5,
List4b6,
List4b7,
List4b8,
List4b9,
List4b10,
List4b11,
List4b12,
List4b13,
List4b14,
List4b15,
List4b16,
] # ,List4b17E
1
List1e1 = [(7, 10, 1), (8.5, 13, 2.5)]
List1e2 = [(7, 10, 1), (8.5, 13, 2.5)]
List1e3 = [
(7, 15, 0.5),
(7.5, 11, 0.5),
(8, 10, 0.5),
(8.5, 8, 0.5),
(9, 6, 0.5),
(9.5, 8, 0.5),
(10, 10, 0.5),
(10.5, 11, 0.5),
(11, 13, 0.5),
(11.5, 15, 0.5),
(12, 17, 0.5),
(12.5, 20, 0.5),
]
List1e4 = [
(7, 25, 0.5),
(7.5, 24, 0.5),
(8, 23, 0.5),
(8.5, 27, 0.5),
(9, 25, 0.5),
(9.5, 22, 0.5),
(10, 20, 0.5),
(10.5, 18, 0.5),
(11, 22, 0.5),
(11.5, 18, 0.5),
]
List1e5 = [
(7, 15, 0.5),
(7.5, 11, 0.5),
(8, 10, 0.5),
(8.5, 8, 0.5),
(9, 6, 0.5),
(9.5, 8, 0.5),
(10, 10, 0.5),
(10.5, 11, 0.5),
(11, 13, 0.5),
(11.5, 15, 0.5),
(12, 17, 0.5),
(12.5, 20, 0.5),
]
List1e6 = [
(7, 15, 0.5),
(7.5, 11, 0.5),
(8, 10, 0.5),
(8.5, 8, 0.5),
(9, 6, 0.5),
(9.5, 8, 0.5),
(10, 10, 0.5),
(10.5, 11, 0.5),
(11, 13, 0.5),
(11.5, 15, 0.5),
(12, 17, 0.5),
(12.5, 20, 0.5),
]
List1e7 = [
(7, 25, 0.5),
(7.5, 24, 0.5),
(8, 23, 0.5),
(8.5, 27, 0.5),
(9, 25, 0.5),
(9.5, 22, 0.5),
(10, 20, 0.5),
(10.5, 18, 0.5),
(11, 22, 0.5),
(11.5, 25, 1),
(12.5, 30, 0.5),
]
List1e8 = [
(7, 15, 0.5),
(7.5, 18, 0.5),
(8, 17, 0.5),
(8.5, 15, 0.5),
(9, 13, 0.5),
(9.5, 15, 0.5),
(10, 17, 0.5),
(10.5, 20, 0.5),
(11, 18, 0.5),
(11.5, 20, 0.5),
(12, 22, 0.5),
(12.5, 25, 0.5),
]
List1e9 = [
(7, 15, 0.5),
(7.5, 18, 0.5),
(8, 17, 0.5),
(8.5, 15, 0.5),
(9, 13, 0.5),
(9.5, 22, 0.5),
(12.5, 22, 0.5),
]
List1e10 = [
(7, 22, 0.5),
(7.5, 26, 0.5),
(8, 25, 0.5),
(8.5, 24, 0.5),
(9, 23, 0.5),
(9.5, 27, 0.5),
(10, 25, 0.5),
(10.5, 22, 0.5),
(11, 20, 0.5),
(11.5, 18, 0.5),
(12, 22, 0.5),
(12.5, 25, 0.5),
]
List1e11 = [
(7, 23, 1),
(8, 27, 0.5),
(8.5, 25, 2),
(10.5, 22, 0.5),
(11, 20, 0.5),
(11.5, 18, 0.5),
]
List1e12 = [
(7, 29, 2),
(9, 25, 0.5),
(9.5, 23, 0.5),
(10, 22, 0.5),
(10.5, 20, 0.5),
(11, 18, 0.5),
(11.5, 20, 0.5),
(12, 22, 0.5),
(12.5, 25, 0.5),
]
List1e13 = [(7, 24, 0.5), (7.5, 27, 0.5), (8, 25, 1), (11, 29, 2)]
List1e14 = [
(7, 15, 0.5),
(7.5, 11, 0.5),
(8, 10, 0.5),
(8.5, 8, 0.5),
(9, 6, 0.5),
(9.5, 8, 0.5),
(10, 10, 0.5),
(10.5, 11, 0.5),
(11, 13, 0.5),
(11.5, 15, 0.5),
(12, 17, 0.5),
(12.5, 20, 0.5),
]
List1e15 = [
(7, 15, 0.5),
(7.5, 11, 0.5),
(8, 10, 0.5),
(8.5, 8, 0.5),
(9, 6, 0.5),
(9.5, 8, 0.5),
(10, 10, 0.5),
(10.5, 11, 0.5),
(11, 13, 0.5),
(11.5, 15, 0.5),
(12, 17, 0.5),
(12.5, 20, 0.5),
]
List1e16 = [(7, 10, 1), (8.5, 13, 2.5)]
List1e17 = [(7, 10, 1), (8.5, 13, 2.5)]2
List2e1 = [(19, 13, 2), (21, 10, 2)]
List2e2 = [(19, 13, 2), (21, 10, 2)]
List2e3 = [
(19, 17, 0.5),
(19.5, 20, 0.5),
(20, 21, 0.5),
(20.5, 27, 0.5),
(21, 18, 0.5),
(21.5, 20, 0.5),
(22, 22, 0.5),
(22.5, 25, 0.5),
]
List2e4 = [
(19, 17, 0.5),
(19.5, 20, 0.5),
(20, 23, 0.5),
(20.5, 27, 0.5),
(21, 18, 0.5),
(21.5, 20, 0.5),
(22, 22, 0.5),
(22.5, 25, 0.5),
]
List2e5 = [
(19, 23, 0.5),
(19.5, 27, 0.5),
(20, 25, 0.5),
(20.5, 23, 0.5),
(21, 22, 0.5),
(21.5, 18, 0.5),
(22, 20, 0.5),
(22.5, 22, 0.5),
]
List2e6 = [
(19, 17, 0.5),
(19.5, 20, 0.5),
(20, 23, 0.5),
(20.5, 27, 0.5),
(21, 18, 0.5),
(21.5, 20, 0.5),
(22, 22, 0.5),
(22.5, 22, 0.5),
]
List2e7 = [
(19, 17, 0.5),
(19.5, 20, 0.5),
(20, 23, 0.5),
(20.5, 27, 0.5),
(21, 18, 0.5),
(21.5, 20, 0.5),
(22, 22, 0.5),
(22.5, 25, 0.5),
]
List2e8 = [
(19, 17, 0.5),
(19.5, 20, 0.5),
(20, 23, 0.5),
(20.5, 27, 0.5),
(21, 18, 0.5),
(21.5, 20, 0.5),
(22, 22, 0.5),
(22.5, 25, 0.5),
]
List2e9 = [
(19, 23, 0.5),
(19.5, 27, 0.5),
(20, 25, 0.5),
(20.5, 23, 0.5),
(21, 22, 0.5),
(21.5, 18, 0.5),
(22, 20, 0.5),
(22.5, 22, 0.5),
]
List2e10 = [
(19, 17, 0.5),
(19.5, 20, 0.5),
(20, 23, 0.5),
(20.5, 27, 0.5),
(21, 18, 0.5),
(21.5, 20, 0.5),
(22, 22, 0.5),
(22.5, 25, 0.5),
]
List2e11 = [
(19, 25, 0.5),
(19.5, 24, 0.5),
(20, 23, 0.5),
(20.5, 27, 0.5),
(21, 25, 0.5),
(21.5, 22, 0.5),
(22, 20, 0.5),
(22.5, 18, 0.5),
]
List2e12 = [(19, 23, 0.5), (19.5, 27, 0.5), (20, 25, 0.5), (20.5, 23, 0.5), (21, 22, 1)]
List2e13 = [
(19, 18, 0.5),
(19.5, 20, 0.5),
(20, 23, 0.5),
(20.5, 27, 0.5),
(21, 18, 0.5),
(21.5, 20, 0.5),
(22, 22, 0.5),
(22.5, 25, 0.5),
]
List2e14 = [
(19, 17, 0.5),
(19.5, 20, 0.5),
(20, 23, 0.5),
(20.5, 27, 0.5),
(21, 18, 0.5),
(21.5, 20, 0.5),
(22, 22, 0.5),
(22.5, 25, 0.5),
]
List2e15 = [
(19, 23, 0.5),
(19.5, 27, 0.5),
(20, 25, 0.5),
(20.5, 23, 0.5),
(21, 22, 0.5),
(21.5, 18, 0.5),
(22, 20, 0.5),
(22.5, 22, 0.5),
]
List2e16 = [(19, 13, 2), (21, 10, 2)]
List2e17 = [(19, 13, 2), (21, 10, 2)]3
List3e1 = [(29, 10, 2), (31, 8, 1.5), (32, 13, 4.5)]
List3e2 = [(29, 10, 2), (31, 8, 1.5), (32, 13, 4.5)]
List3e3 = [
(29, 25, 0.5),
(29.5, 24, 0.5),
(30, 23, 0.5),
(30.5, 22, 0.5),
(31, 20, 0.5),
(31.5, 18, 0.5),
(32, 17, 0.5),
(32.5, 15, 0.5),
(33, 13, 0.5),
(33.5, 23, 0.5),
(34, 22, 0.5),
(34.5, 17, 0.5),
(35, 20, 0.5),
(35.5, 18, 0.5),
(36, 17, 0.5),
(36.5, 20, 0.5),
]
List3e4 = [
(29, 15, 0.5),
(29.5, 17, 0.5),
(30, 18, 0.5),
(30.5, 15, 0.5),
(31, 22, 0.5),
(31.5, 20, 0.5),
(32, 17, 0.5),
(32.5, 15, 0.5),
(33, 13, 1),
(34.5, 23, 0.5),
(35, 22, 0.5),
(35.5, 18, 0.5),
]
List3e5 = [
(31, 29, 1),
(32.5, 27, 0.25),
(32.75, 26, 0.25),
(33, 24, 0.5),
(33.5, 23, 0.5),
(34, 22, 0.5),
(34.5, 20, 0.5),
(35, 18, 0.5),
(35.5, 20, 0.5),
(36, 22, 0.5),
(36.5, 25, 0.5),
]
List3e6 = [
(29, 25, 0.5),
(29.5, 24, 0.5),
(30, 23, 0.5),
(30.5, 22, 0.5),
(31, 20, 1),
(31.5, 18, 0.5),
(32, 17, 0.5),
(32.5, 15, 0.25),
(33, 13, 0.5),
(33.5, 23, 0.5),
(34, 22, 0.5),
(34.5, 17, 0.5),
(35, 20, 0.5),
(35.5, 18, 0.5),
(36, 17, 0.5),
(36.5, 20, 0.5),
]
List3e7 = [
(29, 15, 0.5),
(29.5, 17, 0.5),
(30, 18, 0.5),
(30.5, 20, 0.5),
(31, 22, 1),
(31.5, 20, 0.5),
(32, 17, 0.5),
(32.5, 15, 0.25),
(33, 13, 0.5),
(33.5, 23, 0.5),
(34, 22, 0.5),
(34.5, 17, 0.5),
(35, 20, 0.5),
(35.5, 18, 0.5),
(36, 17, 0.5),
(36.5, 15, 0.5),
]
List3e8 = [
(29, 20, 0.5),
(29.5, 18, 0.5),
(30, 17, 0.5),
(30.5, 15, 0.5),
(31, 13, 0.5),
(31.5, 11, 0.5),
(32, 10, 0.5),
(32.5, 8, 0.25),
(33, 6, 0.25),
(33.25, 8, 0.25),
(33.5, 10, 0.25),
(33.75, 11, 0.25),
(34, 13, 0.25),
(34.25, 15, 0.25),
(34.5, 17, 0.25),
(34.75, 18, 0.25),
(35, 20, 0.25),
(35.25, 22, 0.25),
(35.5, 23, 0.25),
(35.75, 25, 0.75),
]
List3e9 = [
(29, 15, 0.5),
(29.5, 17, 0.5),
(30, 18, 0.5),
(30.5, 20, 0.5),
(31, 22, 0.5),
(31.5, 20, 0.5),
(32, 17, 0.5),
(32.5, 15, 0.5),
(33, 13, 0.5),
(33.5, 23, 0.5),
(34, 22, 0.5),
(34.5, 17, 0.5),
(35, 20, 0.5),
(35.5, 18, 0.5),
(36, 17, 0.5),
(36.5, 20, 0.5),
]
List3e10 = [
(29, 22, 0.5),
(29.5, 23, 0.5),
(30, 22, 0.5),
(30.5, 20, 0.25),
(30.75, 18, 0.25),
(31, 17, 0.5),
(31.5, 15, 0.5),
(32, 13, 0.5),
(32.5, 11, 0.5),
(33, 10, 0.5),
(33.5, 13, 0.5),
(34, 15, 0.5),
(34.5, 17, 0.5),
(35, 20, 0.5),
(35.5, 18, 0.5),
(36, 22, 0.5),
(36.5, 22, 0.5),
]
List3e11 = [
(29, 15, 0.5),
(29.5, 17, 0.5),
(30, 18, 0.5),
(30.5, 22, 0.5),
(31, 20, 1),
(33.5, 23, 0.5),
(34, 22, 0.5),
(34.5, 17, 0.5),
(35, 20, 0.5),
(35.5, 18, 0.5),
(36, 17, 0.5),
(36.5, 15, 0.5),
]
List3e12 = [
(29, 18, 0.5),
(29.5, 20, 0.5),
(30, 22, 0.5),
(30.5, 18, 0.5),
(31, 25, 0.5),
(31.5, 22, 0.5),
(32, 17, 0.5),
(32.5, 15, 0.5),
(33, 13, 0.5),
(33.5, 22, 0.5),
(34, 23, 0.5),
(34.5, 20, 0.5),
(35, 18, 0.5),
(35.5, 20, 0.5),
(36, 22, 0.5),
(36.5, 25, 0.5),
]
List3e13 = [
(29, 29, 1.33),
(30.33, 27, 0.33),
(30.66, 26, 0.33),
(31, 25, 0.5),
(31.5, 24, 0.5),
(32, 23, 0.5),
(32.5, 22, 0.5),
(33, 20, 0.5),
(33.5, 18, 0.5),
(34, 17, 0.5),
(34.5, 15, 0.5),
(35, 13, 0.5),
(35.5, 15, 0.5),
(36, 17, 0.5),
(36.5, 20, 0.5),
]
List3e14 = [
(29, 29, 1.5),
(30.5, 27, 0.25),
(30.75, 26, 0.25),
(31, 25, 0.5),
(31.5, 23, 0.5),
(32, 22, 0.5),
(32.5, 20, 0.5),
(33, 18, 0.5),
(33.5, 20, 0.5),
(34, 22, 0.5),
(34.5, 25, 0.5),
(35, 30, 1),
]
List3e15 = [
(29, 15, 0.5),
(29.5, 17, 0.5),
(30, 18, 0.5),
(30.5, 20, 0.5),
(31, 22, 0.5),
(31.5, 20, 0.5),
(32, 17, 0.5),
(32.5, 15, 0.5),
(33, 13, 0.5),
(33.5, 23, 0.5),
(34, 22, 0.5),
(34.5, 17, 0.5),
(35, 20, 0.5),
(35.5, 18, 0.5),
(36, 17, 0.5),
(36.5, 15, 0.5),
]
List3e16 = [(29, 10, 2), (31, 8, 1.5), (32, 13, 4.5)]
List3e17 = [(29, 10, 2), (31, 8, 1.5), (32, 13, 4.5)]4
List4e1 = [(53, 22, 2), (55, 22, 1), (56.5, 25, 4.5)]
List4e2 = [(53, 22, 2), (55, 22, 1), (56.5, 25, 3.5)]
List4e3 = [
(53, 20, 1),
(55, 22, 0.25),
(55.25, 23, 0.25),
(55.5, 22, 0.5),
(56, 20, 0.5),
(56.5, 17, 0.5),
(57, 18, 0.5),
(57.5, 20, 0.5),
(58, 22, 0.5),
(58.5, 25, 0.5),
(59, 30, 1),
(60, 25, 1),
]
List4e4 = [
(53, 15, 0.5),
(53.5, 17, 0.5),
(54, 18, 0.5),
(54.5, 15, 0.5),
(55, 22, 0.5),
(55.5, 20, 0.5),
(56, 17, 0.5),
(56.5, 15, 0.5),
(57, 13, 1.5),
(58.5, 20, 1.5),
]
List4e5 = [
(53, 23, 1.5),
(54.5, 22, 0.5),
(55, 22, 0.5),
(55.5, 20, 0.5),
(56, 17, 0.5),
(56.5, 15, 0.5),
(57, 13, 0.5),
(57.5, 11, 0.5),
(58, 10, 0.5),
(58.5, 8, 0.5),
(59, 6, 0.5),
(59.5, 8, 0.5),
(60, 9, 0.5),
(60.5, 13, 0.5),
]
List4e6 = [
(53, 29, 2),
(55, 25, 0.5),
(55.5, 23, 0.5),
(56, 22, 0.5),
(56.5, 20, 0.5),
(57, 18, 0.5),
(57.5, 20, 0.5),
(58, 22, 0.5),
(58.5, 25, 0.5),
(59, 6, 0.5),
(60, 30, 1),
]
List4e7 = [
(53, 29, 1.5),
(54.5, 27, 0.25),
(54.75, 26, 0.25),
(55, 25, 0.5),
(55.5, 23, 0.5),
(56, 22, 0.5),
(56.5, 20, 0.5),
(57, 18, 0.5),
(57.5, 20, 0.5),
(58, 22, 0.5),
(58.5, 25, 0.5),
(59, 30, 0.5),
]
List4e8 = [
(54, 29, 1),
(55, 25, 0.5),
(55.5, 23, 0.5),
(56, 22, 0.5),
(56.5, 20, 0.5),
(57, 18, 0.5),
(57.5, 17, 0.5),
(58, 20, 0.5),
(58.5, 17, 0.5),
(59, 19, 0.5),
(59.5, 20, 0.5),
(60, 22, 0.5),
(60.5, 25, 0.5),
]
List4e9 = [
(53, 15, 0.5),
(53.5, 17, 0.5),
(54, 18, 0.5),
(54.5, 15, 0.5),
(55, 22, 0.5),
(55.5, 20, 0.5),
(56, 17, 0.5),
(56.5, 15, 0.5),
(57, 13, 0.5),
(57.5, 18, 0.5),
(58, 20, 0.5),
(58.5, 22, 1),
(59.5, 22, 0.5),
(60, 25, 1),
]
List4e10 = [
(53, 20, 0.5),
(53.5, 22, 0.5),
(54, 23, 0.5),
(54.5, 20, 0.5),
(55, 25, 0.5),
(55.5, 21, 0.5),
(56, 17, 0.5),
(56.5, 13, 0.5),
(57, 22, 0.5),
(57.5, 18, 0.5),
(58, 17, 0.5),
(58.5, 20, 0.5),
(59, 18, 1),
]
List4e11 = [
(53, 25, 0.5),
(53.5, 24, 0.5),
(54, 23, 0.5),
(54.5, 22, 0.5),
(55, 20, 0.5),
(55.5, 18, 0.5),
(56, 17, 0.5),
(56.5, 15, 0.5),
(57, 13, 0.5),
(57.5, 23, 0.5),
(58, 22, 0.5),
(58.5, 18, 0.5),
(59, 20, 0.5),
(59.5, 18, 0.5),
(60, 17, 0.5),
(60.5, 15, 0.5),
]
List4e12 = [
(53, 15, 0.5),
(53.5, 17, 0.5),
(54, 18, 0.5),
(54.5, 20, 0.5),
(55, 22, 0.5),
(55.5, 20, 0.5),
(56, 17, 0.5),
(56.5, 15, 0.5),
(57, 13, 0.5),
(57.5, 18, 0.5),
(58, 22, 0.5),
(58.5, 25, 0.5),
(59, 30, 1),
(60, 25, 0.5),
(60.5, 27, 0.5),
]
List4e13 = [
(53, 15, 0.5),
(53.5, 17, 0.5),
(54, 18, 0.5),
(54.5, 15, 0.5),
(55, 22, 0.5),
(55.5, 20, 0.5),
(56, 17, 0.5),
(56.5, 15, 0.5),
(57, 13, 0.5),
(57.5, 15, 0.5),
(58, 17, 0.5),
(58.5, 20, 0.5),
(59, 18, 0.5),
(59.5, 20, 0.5),
(60, 22, 0.5),
(60.5, 25, 0.5),
]
List4e14 = [
(53, 25, 3.5),
(56.5, 23, 0.5),
(57, 22, 0.5),
(57.5, 18, 0.5),
(58, 17, 0.5),
(58.5, 20, 0.5),
(59, 18, 0.5),
(59.5, 20, 0.5),
(60, 22, 0.5),
(60.5, 26, 0.5),
]
List4e15 = [
(53, 29, 2),
(55, 25, 1.5),
(56.5, 23, 0.5),
(57, 22, 0.5),
(57.5, 20, 1),
(58.5, 18, 2),
(60.5, 16, 0.5),
]
List4e16 = [(53, 22, 2), (55, 22, 1), (56.5, 25, 4.5)]
List4e17 = [(53, 22, 2), (55, 22, 1), (56.5, 25, 4.5)]
ListCodee1 = [
List1e1,
List1e2,
List1e3,
List1e4,
List1e5,
List1e6,
List1e7,
List1e8,
List1e9,
List1e10,
List1e11,
List1e12,
List1e13,
List1e14,
List1e15,
List1e16,
List1e17,
]
ListCodee2 = [
List2e1,
List2e2,
List2e3,
List2e4,
List2e5,
List2e6,
List2e7,
List2e8,
List2e9,
List2e10,
List2e11,
List2e12,
List2e13,
List2e14,
List2e15,
List2e16,
List2e17,
]
ListCodee3 = [
List3e1,
List3e2,
List3e3,
List3e4,
List3e5,
List3e6,
List3e7,
List3e8,
List3e9,
List3e10,
List3e11,
List3e12,
List3e13,
List3e14,
List3e15,
List3e16,
List3e17,
]
ListCodee4 = [
List4e1,
List4e2,
List4e3,
List4e4,
List4e5,
List4e6,
List4e7,
List4e8,
List4e9,
List4e10,
List4e11,
List4e12,
List4e13,
List4e14,
List4e15,
List4e16,
List4e17,
]G
1
List1g1 = [(3, 17, 2), (5, 14, 2)]
List1g2 = [(3, 17, 2), (5, 14, 2)]
List1g3 = [
(3, 17, 0.5),
(3.5, 19, 0.5),
(4, 21, 0.5),
(4.5, 24, 0.5),
(5, 22, 0.5),
(5.5, 17, 0.5),
(6, 14, 0.5),
(6.5, 9, 0.5),
]
List1g4 = [
(4, 28, 0.5),
(4.5, 27, 0.5),
(5, 26, 0.5),
(5.5, 17, 0.5),
(6, 20, 0.5),
(6.5, 23, 0.5),
]
List1g5 = [
(3, 17, 0.5),
(3.5, 19, 0.5),
(4, 21, 0.5),
(4.5, 24, 0.5),
(5, 22, 0.5),
(5.5, 17, 0.5),
(6, 14, 0.5),
(6.5, 10, 0.5),
]
List1g6 = [
(3, 17, 0.5),
(3.5, 19, 0.5),
(4, 21, 0.5),
(4.5, 24, 0.5),
(5, 22, 0.5),
(5.5, 17, 0.5),
(6, 14, 0.5),
(6.5, 10, 0.5),
]
List1g7 = [
(4.5, 28, 0.25),
(4.75, 27, 0.25),
(5, 26, 0.5),
(5.5, 17, 0.5),
(6, 22, 0.5),
(6.5, 26, 0.5),
]
List1g8 = [
(3, 17, 0.5),
(3.5, 19, 0.5),
(4, 21, 0.5),
(4.5, 24, 0.5),
(5, 22, 0.5),
(5.5, 17, 0.5),
(6, 14, 0.5),
(6.5, 10, 0.5),
]
List1g9 = [
(3, 17, 0.5),
(3.5, 19, 0.5),
(4, 21, 0.5),
(4.5, 24, 0.5),
(5, 22, 0.5),
(5.5, 17, 0.5),
(6, 14, 0.5),
(6.5, 10, 0.5),
]
List1g10 = [
(3, 29, 0.5),
(3.5, 27, 1),
(4.5, 24, 1),
(5.5, 27, 0.5),
(6, 26, 0.5),
(6.5, 17, 0.5),
]
List1g11 = [
(3, 17, 0.5),
(3.5, 19, 0.5),
(4, 21, 0.5),
(4.5, 24, 0.5),
(5, 17, 1.5),
(6.5, 22, 0.25),
(6.75, 26, 0.25),
]
List1g12 = [(3, 17, 0.5), (3.5, 19, 0.5), (4, 21, 0.5), (4.5, 24, 0.5), (5, 22, 0.5)]
List1g13 = [(3, 29, 1.5), (4.5, 26, 1), (5.5, 30, 0.5), (6, 26, 0.5), (6.5, 22, 0.5)]
List1g14 = [
(3, 17, 0.5),
(3.5, 19, 0.5),
(4, 21, 0.5),
(4.5, 24, 0.5),
(5, 22, 0.5),
(5.5, 17, 0.5),
(6, 14, 0.5),
(6.5, 10, 0.5),
]
List1g15 = [
(3, 17, 0.5),
(3.5, 19, 0.5),
(4, 21, 0.5),
(4.5, 24, 0.5),
(5, 22, 0.5),
(5.5, 17, 0.5),
(6, 14, 0.5),
(6.5, 10, 0.5),
]
List1g16 = [(3, 17, 2), (5, 14, 2)]
List1g17 = [(3, 17, 2), (5, 14, 2)]2
List2g1 = [(13, 14, 1.5), (14.5, 12, 2.5), (17, 17, 2)]
List2g2 = [(13, 14, 1.5), (14.5, 12, 2.5), (17, 17, 2)]
List2g3 = [
(13, 19, 0.5),
(13.5, 15, 0.5),
(14, 12, 0.5),
(14.5, 10, 0.5),
(15, 9, 0.5),
(15.5, 18, 0.5),
(16, 17, 0.5),
(16.5, 15, 0.5),
(17, 14, 0.5),
(17.5, 17, 0.5),
(18, 22, 0.5),
(18.5, 26, 0.5),
]
List2g4 = [
(13, 29, 1.5),
(14.5, 25, 1),
(15.5, 21, 0.5),
(16, 17, 1),
(17.5, 17, 0.5),
(18, 22, 0.5),
(18.5, 26, 0.5),
]
List2g5 = [
(13, 19, 0.5),
(13.5, 15, 0.5),
(14, 22, 0.5),
(14.5, 18, 0.5),
(15, 26, 0.5),
(15.5, 17, 0.5),
(16, 19, 0.5),
(16.5, 21, 0.5),
(17, 22, 0.5),
(17.5, 24, 0.5),
(18, 26, 0.5),
(18.5, 29, 0.5),
]
List2g6 = [
(13, 19, 0.5),
(13.5, 23, 0.5),
(14, 22, 0.5),
(14.5, 19, 0.5),
(15, 26, 0.5),
(15.5, 17, 0.5),
(16, 19, 0.5),
(16.5, 23, 0.5),
(17, 22, 0.5),
(17.5, 24, 0.5),
(18, 26, 0.5),
(18.5, 29, 0.5),
]
List2g7 = [
(13, 30, 0.5),
(13.5, 17, 1),
(14.5, 26, 0.5),
(15, 24, 1),
(17.5, 17, 0.5),
(18, 22, 0.5),
(18.5, 26, 0.5),
]
List2g8 = [
(13, 26, 0.5),
(13.5, 24, 0.5),
(14, 22, 0.5),
(14.5, 21, 1.5),
(17.5, 17, 0.5),
(18, 22, 0.5),
(18.5, 26, 0.5),
]
List2g9 = [
(13, 22, 1.5),
(14.5, 19, 0.5),
(15, 21, 0.5),
(15.5, 22, 0.5),
(16, 24, 0.5),
(16.5, 26, 0.5),
(17, 22, 0.5),
(17.5, 22, 0.5),
(18.5, 26, 0.25),
(18.75, 29, 0.25),
]
List2g10 = [
(13, 19, 1),
(15, 26, 0.5),
(15.5, 24, 0.5),
(16, 21, 0.5),
(16.5, 18, 0.5),
(17, 17, 0.5),
(17.5, 19, 0.5),
(18, 21, 0.5),
(18.5, 24, 0.5),
]
List2g11 = [
(14, 11, 0.5),
(14.5, 19, 0.25),
(14.75, 22, 0.25),
(15, 26, 1),
(16, 17, 1),
(17, 22, 0.5),
(17.5, 24, 0.5),
(18, 26, 0.5),
(18.5, 27, 0.5),
]
List2g12 = [
(13, 30, 1),
(15, 29, 1.5),
(16.5, 28, 0.25),
(16.75, 27, 0.25),
(17, 25, 0.5),
(17.5, 17, 0.5),
(18, 22, 0.5),
(18.5, 25, 0.5),
]
List2g13 = [
(13, 25, 0.5),
(13.5, 22, 0.5),
(14, 18, 1),
(15, 29, 2),
(17, 26, 0.5),
(17.5, 17, 0.5),
(18, 22, 0.5),
(18.5, 25, 0.5),
]
List2g14 = [
(13, 19, 0.5),
(13.5, 15, 0.5),
(14, 19, 0.5),
(14.5, 22, 0.5),
(15, 26, 0.5),
(15.5, 24, 0.5),
(16, 21, 0.5),
(16.5, 18, 0.5),
(17, 17, 0.5),
(17.5, 19, 0.5),
(18, 22, 0.5),
(18.5, 27, 0.5),
]
List2g15 = [
(6, 14, 0.5),
(6.5, 10, 0.5),
(13, 19, 0.5),
(13.5, 22, 0.5),
(14, 22, 0.5),
(14.5, 19, 0.5),
(15, 26, 0.5),
(15.5, 17, 0.5),
(16, 22, 0.5),
(16.5, 26, 0.5),
(17, 22, 0.5),
(17.5, 24, 0.5),
(18, 26, 0.5),
(18.5, 29, 0.5),
]
List2g16 = [(13, 14, 1.5), (14.5, 12, 2.5), (17, 17, 2)]
List2g17 = [(13, 14, 1.5), (14.5, 12, 2.5), (17, 17, 2)]3
List3g1 = [(37, 14, 2), (39, 12, 1.5), (40.5, 17, 2.5)]
List3g2 = [(37, 14, 2), (39, 12, 1.5), (40.5, 17, 2.5)]
List3g3 = [
(37, 19, 0.5),
(37.5, 15, 0.5),
(38, 12, 0.5),
(38.5, 7, 0.5),
(39, 10, 0.5),
(39.5, 7, 0.5),
(40, 9, 0.5),
(40.5, 18, 0.5),
(41, 17, 0.5),
(41.5, 15, 0.5),
(42, 14, 0.5),
(42.5, 12, 0.5),
(43, 10, 0.5),
(43.5, 12, 0.5),
(44, 13, 0.5),
(44.5, 17, 0.5),
]
List3g4 = [
(37.5, 12, 0.5),
(38, 15, 0.33),
(38.33, 19, 0.33),
(38.66, 22, 0.33),
(39, 26, 0.5),
(39.5, 24, 0.5),
(40, 21, 0.5),
(40.5, 19, 0.5),
(41, 17, 0.5),
(41.5, 19, 0.5),
(42, 21, 0.5),
(42.5, 24, 0.5),
(43, 21, 0.5),
(43.5, 23, 0.5),
(44, 26, 0.5),
(44.5, 25, 0.5),
]
List3g5 = [
(37, 29, 3.5),
(40.5, 28, 0.25),
(40.75, 27, 0.25),
(41, 26, 0.5),
(41.5, 21, 0.5),
(42, 23, 0.5),
(42.5, 21, 0.5),
(43, 22, 0.5),
(43.5, 17, 0.5),
(44, 14, 0.5),
(44.5, 10, 0.5),
]
List3g6 = [
(37, 19, 0.5),
(37.5, 15, 0.5),
(38, 12, 0.5),
(38.5, 7, 0.5),
(39, 10, 1.5),
(40.5, 9, 0.5),
(41, 17, 1),
(43, 26, 1),
]
List3g7 = [
(37, 24, 0.5),
(37.5, 22, 1),
(38.5, 17, 0.25),
(38.75, 22, 0.25),
(39, 26, 1),
(40, 22, 0.5),
(40.5, 25, 2),
(42.5, 22, 0.5),
(43, 26, 0.5),
(43.5, 29, 0.5),
]
List3g8 = [
(38, 12, 0.25),
(38.25, 14, 0.25),
(38.5, 15, 0.25),
(38.75, 17, 0.25),
(39, 19, 0.25),
(39.25, 21, 0.25),
(39.5, 22, 0.25),
(39.75, 24, 0.25),
(40, 26, 2.5),
(42.5, 21, 0.5),
(43, 24, 0.5),
(43.5, 22, 0.5),
]
List3g9 = [
(37, 19, 0.5),
(37.5, 15, 0.5),
(38, 12, 0.5),
(38.5, 10, 0.5),
(39, 17, 1.5),
(40.5, 15, 0.5),
(41, 14, 0.5),
(41.5, 17, 0.5),
(42, 19, 0.5),
(42.5, 21, 1.5),
]
List3g10 = [
(39, 22, 0.5),
(39.5, 19, 0.5),
(40, 21, 0.5),
(40.5, 24, 0.5),
(41, 22, 0.5),
(41.5, 17, 0.5),
(42, 14, 0.5),
(42.5, 10, 0.5),
(43, 17, 1),
]
List3g11 = [
(37, 19, 0.5),
(37.5, 23, 0.5),
(38.5, 19, 0.5),
(39, 26, 0.5),
(39.5, 24, 0.5),
(40, 21, 0.5),
(40.5, 19, 0.5),
(41, 17, 0.5),
(41.5, 19, 0.5),
(42, 21, 0.5),
(42.5, 24, 0.5),
(43, 22, 0.5),
(43.5, 17, 0.5),
(44, 14, 0.5),
]
List3g12 = [
(37, 26, 0.5),
(37.5, 24, 0.5),
(38, 22, 0.5),
(38.5, 21, 1),
(39.5, 19, 0.5),
(40, 17, 0.5),
(40.5, 15, 0.5),
(41, 14, 0.5),
(41.5, 17, 0.5),
(42, 22, 0.5),
(42.5, 24, 0.5),
(43, 26, 0.5),
(43.5, 17, 0.5),
(44, 22, 0.5),
(44.5, 26, 0.5),
]
List3g13 = [
(37, 19, 0.5),
(37.5, 22, 0.5),
(38, 22, 0.5),
(38.5, 19, 0.5),
(39, 29, 1.5),
(40.5, 28, 0.5),
(41, 26, 1),
(42, 21, 0.5),
(42.5, 24, 1),
(43.5, 26, 0.5),
(44, 22, 1),
]
List3g14 = [(38.5, 29, 3.5), (42, 26, 0.5), (42.5, 21, 1), (43.5, 21, 0.5), (44, 19, 1)]
List3g15 = [
(37, 19, 0.5),
(37.5, 15, 0.5),
(38, 19, 0.33),
(38.33, 21, 0.33),
(38.66, 24, 0.33),
(39, 26, 1),
(40, 24, 1),
(41, 24, 1.5),
(42.5, 21, 0.5),
(43, 17, 0.5),
(43.5, 14, 0.5),
]
List3g16 = [(37, 14, 2), (39, 12, 1.5), (40.5, 17, 2.5)]
List3g17 = [(37, 14, 2), (39, 12, 1.5), (40.5, 17, 2.5)]
ListCodeg1 = [
List1g1,
List1g2,
List1g3,
List1g4,
List1g5,
List1g6,
List1g7,
List1g8,
List1g9,
List1g10,
List1g11,
List1g12,
List1g13,
List1g14,
List1g15,
List1g16,
List1g17,
]
ListCodeg2 = [
List2g1,
List2g2,
List2g3,
List2g4,
List2g5,
List2g6,
List2g7,
List2g8,
List2g9,
List2g10,
List2g11,
List2g12,
List2g13,
List2g14,
List2g15,
List2g16,
List2g17,
]
ListCodeg3 = [
List3g1,
List3g2,
List3g3,
List3g4,
List3g5,
List3g6,
List3g7,
List3g8,
List3g9,
List3g10,
List3g11,
List3g12,
List3g13,
List3g14,
List3g15,
List3g16,
List3g17,
]
angle30 = 1.57 / 3
angle60 = 3.14 / 3
angleA = 1.57 # to ratate 90 in advance
anglex = 3.14 # for the shape of G code
t = 3for the 3D model bpy.ops.mesh.primitive_cube_add(size=1,location=(0,0.25,0),scale=(10,0.5,0.5))
ListBrandom1 = random.choice(ListCodeb1)
ListBrandom2 = random.choice(ListCodeb2)
ListBrandom3 = random.choice(ListCodeb3)
ListBrandom4 = random.choice(ListCodeb4)
ListErandom1 = random.choice(ListCodee1)
ListErandom2 = random.choice(ListCodee2)
ListErandom3 = random.choice(ListCodee3)
ListErandom4 = random.choice(ListCodee4)
ListGrandom1 = random.choice(ListCodeg1)
ListGrandom2 = random.choice(ListCodeg2)
ListGrandom3 = random.choice(ListCodeg3)
ListQ = [(31.5, 0.5, 1)]
"X, length og note(64hakubunnonagasa,yueni,64shousetuwo10cmniwaketa) Y,10cm _Z, highth of code, 1-30, yueni/t=3"B
l = random.choice([5, 7, 10])
for note in ListBrandom1:
x, y, z = note
bpy.ops.object.select_all(action="DESELECT")
bpy.ops.mesh.primitive_cube_add(
size=1,
location=((x + z / 2 - 32) * 5 / 32, y / (2 * t) - 5, 0),
scale=(z * 5 / 32, y / t, l),
)
shape = bpy.context.selected_objects[0]
bpy.ops.object.origin_set(type="ORIGIN_CURSOR", center="MEDIAN")
bpy.ops.transform.rotate(value=angleA, orient_axis="X")
shape.location = (-0.15, (10 - l) / 2, 0)
l = random.choice([5, 7, 10])
for note in ListBrandom2:
x, y, z = note
bpy.ops.mesh.primitive_cube_add(
size=1,
location=((x + z / 2 - 32) * 5 / 32, y / (2 * t) - 5, 0),
scale=(z * 5 / 32, y / t, l),
)
shape = bpy.context.selected_objects[0]
bpy.ops.object.origin_set(type="ORIGIN_CURSOR", center="MEDIAN")
bpy.ops.transform.rotate(value=angleA, orient_axis="X")
shape.location = (-0.15, (10 - l) / 2, 0)
l = random.choice([5, 7, 10])
for note in ListBrandom3:
x, y, z = note
bpy.ops.mesh.primitive_cube_add(
size=1,
location=((x + z / 2 - 32) * 5 / 32, y / (2 * t) - 5, 0),
scale=(z * 5 / 32, y / t, l),
)
shape = bpy.context.selected_objects[0]
bpy.ops.object.origin_set(type="ORIGIN_CURSOR", center="MEDIAN")
bpy.ops.transform.rotate(value=angleA, orient_axis="X")
shape.location = (-0.15, (10 - l) / 2, 0)
l = random.choice([5, 7, 10])
for note in ListBrandom4:
x, y, z = note
bpy.ops.mesh.primitive_cube_add(
size=1,
location=((x + z / 2 - 32) * 5 / 32, y / (2 * t) - 5, 0),
scale=(z * 5 / 32, y / t, l),
)
shape = bpy.context.selected_objects[0]
bpy.ops.object.origin_set(type="ORIGIN_CURSOR", center="MEDIAN")
bpy.ops.transform.rotate(value=angleA, orient_axis="X")
shape.location = (-0.15, (10 - l) / 2, 0)E
l = random.choice([5, 7, 10])
for note in ListErandom1:
x, y, z = note
bpy.ops.mesh.primitive_cube_add(
size=1, location=((x + z / 2 - 32) * 5 / 32, 0, 0), scale=(z * 5 / 32, y / t, l)
)
shape = bpy.context.selected_objects[0]
bpy.ops.object.origin_set(type="ORIGIN_CURSOR", center="MEDIAN")
bpy.ops.transform.rotate(value=angleA, orient_axis="X")
shape.location = (-0.15, (10 - l) / 2, 0)
l = random.choice([5, 7, 10])
for note in ListErandom2:
x, y, z = note
bpy.ops.mesh.primitive_cube_add(
size=1, location=((x + z / 2 - 32) * 5 / 32, 0, 0), scale=(z * 5 / 32, y / t, l)
)
shape = bpy.context.selected_objects[0]
bpy.ops.object.origin_set(type="ORIGIN_CURSOR", center="MEDIAN")
bpy.ops.transform.rotate(value=angleA, orient_axis="X")
shape.location = (-0.15, (10 - l) / 2, 0)
l = random.choice([5, 7, 10])
for note in ListErandom3:
x, y, z = note
bpy.ops.mesh.primitive_cube_add(
size=1, location=((x + z / 2 - 32) * 5 / 32, 0, 0), scale=(z * 5 / 32, y / t, l)
)
shape = bpy.context.selected_objects[0]
bpy.ops.object.origin_set(type="ORIGIN_CURSOR", center="MEDIAN")
bpy.ops.transform.rotate(value=angleA, orient_axis="X")
shape.location = (-0.15, (10 - l) / 2, 0)
l = random.choice([5, 7, 10])
for note in ListErandom4:
x, y, z = note
bpy.ops.mesh.primitive_cube_add(
size=1, location=((x + z / 2 - 32) * 5 / 32, 0, 0), scale=(z * 5 / 32, y / t, l)
)
shape = bpy.context.selected_objects[0]
bpy.ops.object.origin_set(type="ORIGIN_CURSOR", center="MEDIAN")
bpy.ops.transform.rotate(value=angleA, orient_axis="X")
shape.location = (-0.15, (10 - l) / 2, 0)G
l = random.choice([5, 7, 10])
for note in ListGrandom1:
x, y, z = note
bpy.ops.mesh.primitive_cube_add(
size=1,
location=((x + z / 2 - 32) * 5 / 32, y / (2 * t) - 5, 0),
scale=(z * 5 / 32, y / t, l),
)
shape = bpy.context.selected_objects[0]
bpy.ops.object.origin_set(type="ORIGIN_CURSOR", center="MEDIAN")
bpy.ops.transform.rotate(value=angleA, orient_axis="X")
bpy.ops.transform.rotate(value=anglex, orient_axis="X")
shape.location = (-0.15, (10 - l) / 2, 0)
l = random.choice([5, 7, 10])
for note in ListGrandom2:
x, y, z = note
bpy.ops.mesh.primitive_cube_add(
size=1,
location=((x + z / 2 - 32) * 5 / 32, y / (2 * t) - 5, 0),
scale=(z * 5 / 32, y / t, l),
)
shape = bpy.context.selected_objects[0]
bpy.ops.object.origin_set(type="ORIGIN_CURSOR", center="MEDIAN")
bpy.ops.transform.rotate(value=angleA, orient_axis="X")
bpy.ops.transform.rotate(value=anglex, orient_axis="X")
shape.location = (-0.15, (10 - l) / 2, 0)
l = random.choice([5, 7, 10])
for note in ListGrandom3:
x, y, z = note
bpy.ops.mesh.primitive_cube_add(
size=1,
location=((x + z / 2 - 32) * 5 / 32, y / (2 * t) - 5, 0),
scale=(z * 5 / 32, y / t, l),
)
shape = bpy.context.selected_objects[0]
bpy.ops.object.origin_set(type="ORIGIN_CURSOR", center="MEDIAN")
bpy.ops.transform.rotate(value=angleA, orient_axis="X")
bpy.ops.transform.rotate(value=anglex, orient_axis="X")
shape.location = (-0.15, (10 - l) / 2, 0)
ListB1 = [
(1, 21, 2),
(23, 6, 1.5),
(24.5, 9, 2.5),
(45, 18, 2),
(47, 18, 1.5),
(48.5, 21, 4.5),
(61, 21, 1.5),
(62.5, 21, 1),
]
ListB2 = [
(1, 21, 2),
(23, 6, 1.5),
(24.5, 9, 2.5),
(45, 18, 2),
(47, 18, 1.5),
(48.5, 21, 4.5),
(61, 16, 0.5),
(61.5, 19, 0.5),
(62, 23, 0.5),
(62.5, 26, 0.5),
(63, 25, 1.5),
(64.5, 23, 0.5),
]
ListB3 = [
(1, 21, 0.5),
(1.5, 18, 0.5),
(2, 14, 1),
(23, 19, 0.5),
(23.5, 23, 0.5),
(24, 25, 0.5),
(24.5, 28, 0.5),
(25, 25, 1),
(26, 23, 0.5),
(26.5, 21, 1),
(45, 18, 0.5),
(45.5, 16, 0.5),
(46, 14, 0.5),
(46.5, 13, 1),
(47.5, 9, 0.5),
(48, 11, 0.5),
(48.5, 13, 0.5),
(49, 14, 0.5),
(49.5, 16, 0.5),
(50, 18, 0.5),
(50.5, 21, 0.5),
(51, 25, 0.5),
(51.5, 24, 0.5),
(52, 23, 0.5),
(52.5, 22, 0.5),
(62, 25, 0.5),
(62.5, 26, 0.5),
(63, 25, 1.5),
(64.5, 21, 0.5),
]
ListB4 = [
(1, 29, 2),
(23, 19, 0.5),
(23.5, 21, 0.5),
(24, 23, 0.5),
(24.5, 25, 0.5),
(25, 21, 1.5),
(26.5, 18, 0.5),
(27, 16, 0.5),
(27.5, 15, 0.5),
(28, 14, 0.5),
(28.5, 10, 0.5),
(45, 25, 1),
(46, 26, 3),
(49, 25, 0.5),
(49.5, 21, 0.5),
(50, 23, 0.5),
(50.5, 25, 0.5),
(51, 22, 0.5),
(51.5, 18, 0.5),
(52, 16, 0.5),
(52.5, 14, 0.5),
(61.5, 16, 0.5),
(62, 19, 0.33),
(62.33, 23, 0.33),
(62.66, 26, 0.33),
(63, 21, 0.5),
(63.5, 23, 0.5),
(64, 25, 0.5),
(64.5, 28, 0.5),
]
ListB5 = [
(1, 26, 0.5),
(1.5, 16, 0.5),
(2, 18, 0.5),
(2.5, 21, 0.5),
(23, 19, 0.5),
(23.5, 21, 0.5),
(24, 23, 0.5),
(24.5, 25, 0.5),
(25, 28, 1),
(26, 25, 0.5),
(26.5, 23, 0.5),
(27, 21, 0.5),
(27.5, 18, 0.5),
(45, 18, 0.5),
(45.5, 14, 0.5),
(46, 13, 0.5),
(46.5, 9, 0.5),
(47, 11, 0.5),
(47.5, 10, 0.5),
(48, 11, 0.5),
(48.5, 13, 0.5),
(49, 14, 0.5),
(49.5, 16, 0.5),
(50, 18, 0.5),
(50.5, 21, 0.5),
(51, 25, 0.5),
(51.5, 21, 0.5),
(52, 18, 0.5),
(52.5, 14, 0.5),
(61, 18, 1),
]
ListB6 = [
(1.5, 9, 0.5),
(2, 14, 0.5),
(2.5, 18, 0.5),
(25, 21, 1),
(26, 18, 0.5),
(26.5, 16, 0.5),
(27, 14, 0.5),
(27.5, 16, 0.5),
(28, 18, 0.5),
(28.5, 21, 0.5),
(45.5, 16, 0.5),
(46, 19, 0.33),
(46.33, 23, 0.33),
(46.66, 26, 0.33),
(47, 25, 1),
(48, 28, 1),
(49, 29, 1.5),
(50.5, 25, 0.5),
(51, 21, 0.5),
(51.5, 18, 0.5),
(61.5, 30, 0.5),
(62, 28, 0.5),
(62.5, 26, 0.5),
(63, 25, 1.5),
(64.5, 21, 0.5),
]
ListB7 = [
(1, 29, 3.5),
(23, 30, 1),
(24, 28, 0.5),
(24.5, 26, 0.5),
(25, 25, 0.5),
(25.5, 23, 0.5),
(26, 21, 0.5),
(26.5, 19, 0.5),
(27, 18, 0.5),
(27.5, 16, 0.5),
(28, 14, 0.5),
(28.5, 10, 0.5),
(45.5, 16, 0.5),
(46, 19, 0.33),
(46.33, 23, 0.33),
(46.66, 26, 0.33),
(47, 25, 0.5),
(47.5, 28, 2.5),
(50, 25, 0.5),
(50.5, 23, 0.5),
(51, 21, 0.5),
(51.5, 18, 0.5),
(52, 14, 1),
(62, 28, 2.5),
(64.5, 25, 0.5),
]
ListB8 = [
(1, 23, 0.5),
(1.5, 21, 0.5),
(2, 18, 0.5),
(2.5, 14, 0.5),
(23, 19, 0.5),
(23.5, 23, 0.5),
(24, 25, 0.5),
(24.5, 28, 0.5),
(25, 25, 0.5),
(25.5, 23, 0.5),
(26, 25, 0.5),
(26.5, 21, 0.5),
(27, 25, 0.5),
(27.5, 24, 0.5),
(28, 23, 0.5),
(28.5, 22, 0.5),
(45.5, 16, 0.5),
(46, 19, 0.33),
(46.33, 23, 0.33),
(46.66, 26, 0.33),
(47, 25, 1),
(48, 30, 1),
(49, 28, 1.5),
(50.5, 25, 0.5),
(51, 21, 0.5),
(51.5, 18, 0.5),
(61, 18, 0.5),
(61.5, 14, 0.5),
(62, 11, 0.5),
(62.5, 7, 0.5),
(63, 13, 0.5),
(
63.5,
9,
0.5,
),
(64, 11, 0.5),
(64.5, 13, 0.5),
]
ListB9 = [
(1, 14, 0.5),
(1.5, 16, 0.5),
(2, 18, 0.5),
(2.5, 21, 0.5),
(23, 19, 0.5),
(23.5, 21, 0.5),
(24, 23, 0.5),
(24.5, 25, 0.5),
(25, 28, 1),
(26, 25, 0.5),
(26.5, 23, 0.5),
(27, 21, 0.5),
(27.5, 18, 0.5),
(28, 14, 0.5),
(28.5, 10, 0.5),
(45.5, 16, 0.5),
(46, 19, 0.33),
(46.33, 23, 0.33),
(46.66, 26, 0.33),
(47, 25, 1),
(48, 21, 1),
(49, 21, 1.5),
(50.5, 18, 0.5),
(51, 16, 1),
(52, 14, 1),
(63.5, 25, 1.5),
]
ListB10 = [
(1, 25, 1.5),
(2.5, 21, 0.5),
(23, 19, 0.5),
(23.5, 21, 0.5),
(24, 23, 0.5),
(24.5, 25, 0.5),
(25, 29, 1),
(26, 25, 0.5),
(26.5, 23, 0.5),
(27, 21, 0.5),
(27.5, 18, 0.5),
(28, 14, 0.5),
(28.5, 10, 0.5),
(45, 18, 1),
(46, 14, 0.5),
(46.5, 9, 0.5),
(47, 13, 1.5),
(48.5, 9, 0.5),
(49, 14, 0.5),
(49.5, 16, 0.5),
(50, 18, 0.5),
(50.5, 19, 0.5),
(51, 25, 0.5),
(51.5, 24, 0.5),
(52, 23, 1),
(52.5, 22, 0.5),
(62.5, 21, 2.5),
]
ListB11 = [
(1, 14, 0.5),
(1.5, 16, 0.5),
(2, 18, 0.5),
(2.5, 21, 0.5),
(23, 19, 0.5),
(23.5, 21, 0.5),
(24, 23, 0.5),
(24.5, 25, 0.5),
(25, 28, 0.5),
(25.5, 25, 0.5),
(26, 23, 0.5),
(26.5, 21, 0.5),
(27, 18, 0.5),
(27.5, 16, 0.5),
(28, 14, 0.5),
(28.5, 10, 0.5),
(45, 18, 0.5),
(47, 18, 1.5),
(48.5, 13, 2),
(50.5, 9, 0.5),
(51, 14, 0.5),
(51.5, 16, 0.5),
(52, 18, 1),
(52.5, 21, 0.5),
(61, 18, 0.5),
(61.5, 14, 0.5),
(62, 11, 0.5),
(62.5, 7, 0.5),
(63, 13, 1.5),
(64.5, 7, 0.5),
]
ListB12 = [
(1, 14, 0.5),
(1.5, 16, 0.5),
(2, 18, 0.5),
(2.5, 21, 0.5),
(23, 19, 0.5),
(23.5, 21, 0.5),
(24, 23, 0.5),
(24.5, 25, 0.5),
(25, 28, 0.5),
(25.5, 25, 0.5),
(26, 23, 0.5),
(26.5, 21, 0.5),
(27, 18, 0.5),
(27.5, 18, 0.5),
(28, 14, 0.5),
(28.5, 9, 0.5),
(45, 25, 1),
(47, 28, 2),
(49, 25, 1.5),
(50.5, 28, 0.5),
(51, 25, 0.5),
(51.5, 21, 0.5),
(52, 18, 1),
(52.5, 14, 0.5),
(61, 27, 0.5),
(61.5, 25, 2.5),
(62, 11, 0.5),
]
ListB13 = [
(2, 28, 1),
(23, 30, 3),
(26, 29, 0.5),
(26.5, 28, 0.5),
(27, 25, 0.5),
(27.5, 21, 0.5),
(28, 18, 0.5),
(28.5, 14, 0.5),
(46.5, 25, 2),
(48.5, 21, 0.5),
(49, 23, 0.5),
(49.5, 25, 0.5),
(50, 21, 0.5),
(50.5, 18, 1),
(51.5, 18, 0.5),
(52, 14, 0.5),
(52.5, 10, 0.5),
(61, 18, 0.5),
(61.5, 14, 0.5),
(62, 11, 0.5),
(62.5, 7, 0.5),
(63, 13, 1.5),
(64.5, 9, 0.5),
]
ListB14 = [
(1, 14, 0.5),
(1.5, 16, 0.5),
(2, 18, 0.5),
(2.5, 21, 0.5),
(23, 19, 0.5),
(23.5, 21, 0.5),
(24, 23, 0.5),
(24.5, 25, 0.5),
(25, 28, 1),
(26, 25, 0.5),
(26.5, 23, 0.5),
(27, 21, 0.5),
(27.5, 18, 0.5),
(28, 14, 1),
(45, 21, 1.5),
(46.5, 19, 0.5),
(47, 22, 1),
(48, 20, 0.5),
(48.5, 19, 2),
(50.5, 21, 0.5),
(51, 28, 1),
(52, 27, 0.5),
(52.5, 26, 0.5),
(61, 26, 1),
]
ListB15 = [
(1.5, 18, 0.5),
(2, 21, 0.5),
(2.5, 26, 0.5),
(23, 19, 0.5),
(23.5, 21, 0.5),
(24, 23, 0.5),
(24.5, 25, 0.5),
(25, 28, 0.5),
(25.5, 25, 0.5),
(26, 23, 0.5),
(26.5, 21, 0.5),
(27, 18, 0.5),
(27.5, 16, 0.5),
(28, 14, 0.5),
(28.5, 10, 0.5),
(45, 18, 2),
(47, 18, 1.5),
(48.5, 21, 4.5),
(61, 18, 0.5),
(61.5, 21, 1.5),
]
ListB16 = [
(1, 21, 2),
(23, 6, 1.5),
(24.5, 9, 2.5),
(45, 18, 2),
(47, 18, 1.5),
(48.5, 21, 4.5),
(61, 21, 1.5),
(62.5, 21, 1),
]
ListB17 = [
(1, 21, 2),
(23, 6, 1.5),
(24.5, 9, 2.5),
(45, 18, 2),
(47, 18, 1.5),
(48.5, 21, 4.5),
]
ListE1 = [
(7, 10, 1),
(8.5, 13, 2.5),
(19, 13, 2),
(21, 10, 2),
(29, 10, 2),
(31, 8, 1.5),
(32, 13, 4.5),
(53, 22, 2),
(55, 22, 1),
(56.5, 25, 4.5),
]
ListE2 = [
(7, 10, 1),
(8.5, 13, 2.5),
(19, 13, 2),
(21, 10, 2),
(29, 10, 2),
(31, 8, 1.5),
(32, 13, 4.5),
(53, 22, 2),
(55, 22, 1),
(56.5, 25, 3.5),
]
ListE3 = [
(7, 15, 0.5),
(7.5, 11, 0.5),
(8, 10, 0.5),
(8.5, 8, 0.5),
(9, 6, 0.5),
(9.5, 8, 0.5),
(10, 10, 0.5),
(10.5, 11, 0.5),
(11, 13, 0.5),
(11.5, 15, 0.5),
(12, 17, 0.5),
(12.5, 20, 0.5),
(19, 17, 0.5),
(19.5, 20, 0.5),
(20, 21, 0.5),
(20.5, 27, 0.5),
(21, 18, 0.5),
(21.5, 20, 0.5),
(22, 22, 0.5),
(22.5, 25, 0.5),
(29, 25, 0.5),
(29.5, 24, 0.5),
(30, 23, 0.5),
(30.5, 22, 0.5),
(31, 20, 0.5),
(31.5, 18, 0.5),
(32, 17, 0.5),
(32.5, 15, 0.5),
(33, 13, 0.5),
(33.5, 23, 0.5),
(34, 22, 0.5),
(34.5, 17, 0.5),
(35, 20, 0.5),
(35.5, 18, 0.5),
(36, 17, 0.5),
(36.5, 20, 0.5),
(53, 20, 1),
(55, 22, 0.25),
(55.25, 23, 0.25),
(55.5, 22, 0.5),
(56, 20, 0.5),
(56.5, 17, 0.5),
(57, 18, 0.5),
(57.5, 20, 0.5),
(58, 22, 0.5),
(58.5, 25, 0.5),
(59, 30, 1),
(60, 25, 1),
]
ListE4 = [
(7, 25, 0.5),
(7.5, 24, 0.5),
(8, 23, 0.5),
(8.5, 27, 0.5),
(9, 25, 0.5),
(9.5, 22, 0.5),
(10, 20, 0.5),
(10.5, 18, 0.5),
(11, 22, 0.5),
(11.5, 18, 0.5),
(19, 17, 0.5),
(19.5, 20, 0.5),
(20, 23, 0.5),
(20.5, 27, 0.5),
(21, 18, 0.5),
(21.5, 20, 0.5),
(22, 22, 0.5),
(22.5, 25, 0.5),
(29, 15, 0.5),
(29.5, 17, 0.5),
(30, 18, 0.5),
(30.5, 15, 0.5),
(31, 22, 0.5),
(31.5, 20, 0.5),
(32, 17, 0.5),
(32.5, 15, 0.5),
(33, 13, 1),
(34.5, 23, 0.5),
(35, 22, 0.5),
(35.5, 18, 0.5),
(53, 15, 0.5),
(53.5, 17, 0.5),
(54, 18, 0.5),
(54.5, 15, 0.5),
(55, 22, 0.5),
(55.5, 20, 0.5),
(56, 17, 0.5),
(56.5, 15, 0.5),
(57, 13, 1.5),
(58.5, 20, 1.5),
]
ListE5 = [
(7, 15, 0.5),
(7.5, 11, 0.5),
(8, 10, 0.5),
(8.5, 8, 0.5),
(9, 6, 0.5),
(9.5, 8, 0.5),
(10, 10, 0.5),
(10.5, 11, 0.5),
(11, 13, 0.5),
(11.5, 15, 0.5),
(12, 17, 0.5),
(12.5, 20, 0.5),
(19, 23, 0.5),
(19.5, 27, 0.5),
(20, 25, 0.5),
(20.5, 23, 0.5),
(21, 22, 0.5),
(21.5, 18, 0.5),
(22, 20, 0.5),
(22.5, 22, 0.5),
(31, 29, 1),
(32.5, 27, 0.25),
(32.75, 26, 0.25),
(33, 24, 0.5),
(33.5, 23, 0.5),
(34, 22, 0.5),
(34.5, 20, 0.5),
(35, 18, 0.5),
(35.5, 20, 0.5),
(36, 22, 0.5),
(36.5, 25, 0.5),
(53, 23, 1.5),
(54.5, 22, 0.5),
(55, 22, 0.5),
(55.5, 20, 0.5),
(56, 17, 0.5),
(56.5, 15, 0.5),
(57, 13, 0.5),
(57.5, 11, 0.5),
(58, 10, 0.5),
(58.5, 8, 0.5),
(59, 6, 0.5),
(59.5, 8, 0.5),
(60, 9, 0.5),
(60.5, 13, 0.5),
]
ListE6 = [
(7, 15, 0.5),
(7.5, 11, 0.5),
(8, 10, 0.5),
(8.5, 8, 0.5),
(9, 6, 0.5),
(9.5, 8, 0.5),
(10, 10, 0.5),
(10.5, 11, 0.5),
(11, 13, 0.5),
(11.5, 15, 0.5),
(12, 17, 0.5),
(12.5, 20, 0.5),
(19, 17, 0.5),
(19.5, 20, 0.5),
(20, 23, 0.5),
(20.5, 27, 0.5),
(21, 18, 0.5),
(21.5, 20, 0.5),
(22, 22, 0.5),
(22.5, 22, 0.5),
(29, 25, 0.5),
(29.5, 24, 0.5),
(30, 23, 0.5),
(30.5, 22, 0.5),
(31, 20, 1),
(31.5, 18, 0.5),
(32, 17, 0.5),
(32.5, 15, 0.25),
(33, 13, 0.5),
(33.5, 23, 0.5),
(34, 22, 0.5),
(34.5, 17, 0.5),
(35, 20, 0.5),
(35.5, 18, 0.5),
(36, 17, 0.5),
(36.5, 20, 0.5),
(53, 29, 2),
(55, 25, 0.5),
(55.5, 23, 0.5),
(56, 22, 0.5),
(56.5, 20, 0.5),
(57, 18, 0.5),
(57.5, 20, 0.5),
(58, 22, 0.5),
(58.5, 25, 0.5),
(59, 6, 0.5),
(60, 30, 1),
]
ListE7 = [
(7, 25, 0.5),
(7.5, 24, 0.5),
(8, 23, 0.5),
(8.5, 27, 0.5),
(9, 25, 0.5),
(9.5, 22, 0.5),
(10, 20, 0.5),
(10.5, 18, 0.5),
(11, 22, 0.5),
(11.5, 25, 1),
(12.5, 30, 0.5),
(19, 17, 0.5),
(19.5, 20, 0.5),
(20, 23, 0.5),
(20.5, 27, 0.5),
(21, 18, 0.5),
(21.5, 20, 0.5),
(22, 22, 0.5),
(22.5, 25, 0.5),
(29, 15, 0.5),
(29.5, 17, 0.5),
(30, 18, 0.5),
(30.5, 20, 0.5),
(31, 22, 1),
(31.5, 20, 0.5),
(32, 17, 0.5),
(32.5, 15, 0.25),
(33, 13, 0.5),
(33.5, 23, 0.5),
(34, 22, 0.5),
(34.5, 17, 0.5),
(35, 20, 0.5),
(35.5, 18, 0.5),
(36, 17, 0.5),
(36.5, 15, 0.5),
(53, 29, 1.5),
(54.5, 27, 0.25),
(54.75, 26, 0.25),
(55, 25, 0.5),
(55.5, 23, 0.5),
(56, 22, 0.5),
(56.5, 20, 0.5),
(57, 18, 0.5),
(57.5, 20, 0.5),
(58, 22, 0.5),
(58.5, 25, 0.5),
(59, 30, 0.5),
]
ListE8 = [
(7, 15, 0.5),
(7.5, 18, 0.5),
(8, 17, 0.5),
(8.5, 15, 0.5),
(9, 13, 0.5),
(9.5, 15, 0.5),
(10, 17, 0.5),
(10.5, 20, 0.5),
(11, 18, 0.5),
(11.5, 20, 0.5),
(12, 22, 0.5),
(12.5, 25, 0.5),
(19, 17, 0.5),
(19.5, 20, 0.5),
(20, 23, 0.5),
(20.5, 27, 0.5),
(21, 18, 0.5),
(21.5, 20, 0.5),
(22, 22, 0.5),
(22.5, 25, 0.5),
(29, 20, 0.5),
(29.5, 18, 0.5),
(30, 17, 0.5),
(30.5, 15, 0.5),
(31, 13, 0.5),
(31.5, 11, 0.5),
(32, 10, 0.5),
(32.5, 8, 0.25),
(33, 6, 0.25),
(33.25, 8, 0.25),
(33.5, 10, 0.25),
(33.75, 11, 0.25),
(34, 13, 0.25),
(34.25, 15, 0.25),
(34.5, 17, 0.25),
(34.75, 18, 0.25),
(35, 20, 0.25),
(35.25, 22, 0.25),
(35.5, 23, 0.25),
(35.75, 25, 0.75),
(54, 29, 1),
(55, 25, 0.5),
(55.5, 23, 0.5),
(56, 22, 0.5),
(56.5, 20, 0.5),
(57, 18, 0.5),
(57.5, 17, 0.5),
(58, 20, 0.5),
(58.5, 17, 0.5),
(59, 19, 0.5),
(59.5, 20, 0.5),
(60, 22, 0.5),
(60.5, 25, 0.5),
]
ListE9 = [
(7, 15, 0.5),
(7.5, 18, 0.5),
(8, 17, 0.5),
(8.5, 15, 0.5),
(9, 13, 0.5),
(9.5, 22, 0.5),
(12.5, 22, 0.5),
(19, 23, 0.5),
(19.5, 27, 0.5),
(20, 25, 0.5),
(20.5, 23, 0.5),
(21, 22, 0.5),
(21.5, 18, 0.5),
(22, 20, 0.5),
(22.5, 22, 0.5),
(29, 15, 0.5),
(29.5, 17, 0.5),
(30, 18, 0.5),
(30.5, 20, 0.5),
(31, 22, 0.5),
(31.5, 20, 0.5),
(32, 17, 0.5),
(32.5, 15, 0.5),
(33, 13, 0.5),
(33.5, 23, 0.5),
(34, 22, 0.5),
(34.5, 17, 0.5),
(35, 20, 0.5),
(35.5, 18, 0.5),
(36, 17, 0.5),
(36.5, 20, 0.5),
(53, 15, 0.5),
(53.5, 17, 0.5),
(54, 18, 0.5),
(54.5, 15, 0.5),
(55, 22, 0.5),
(55.5, 20, 0.5),
(56, 17, 0.5),
(56.5, 15, 0.5),
(57, 13, 0.5),
(57.5, 18, 0.5),
(58, 20, 0.5),
(58.5, 22, 1),
(59.5, 22, 0.5),
(60, 25, 1),
]
ListE10 = [
(7, 22, 0.5),
(7.5, 26, 0.5),
(8, 25, 0.5),
(8.5, 24, 0.5),
(9, 23, 0.5),
(9.5, 27, 0.5),
(10, 25, 0.5),
(10.5, 22, 0.5),
(11, 20, 0.5),
(11.5, 18, 0.5),
(12, 22, 0.5),
(12.5, 25, 0.5),
(19, 17, 0.5),
(19.5, 20, 0.5),
(20, 23, 0.5),
(20.5, 27, 0.5),
(21, 18, 0.5),
(21.5, 20, 0.5),
(22, 22, 0.5),
(22.5, 25, 0.5),
(29, 22, 0.5),
(29.5, 23, 0.5),
(30, 22, 0.5),
(30.5, 20, 0.25),
(30.75, 18, 0.25),
(31, 17, 0.5),
(31.5, 15, 0.5),
(32, 13, 0.5),
(32.5, 11, 0.5),
(33, 10, 0.5),
(33.5, 13, 0.5),
(34, 15, 0.5),
(34.5, 17, 0.5),
(35, 20, 0.5),
(35.5, 18, 0.5),
(36, 22, 0.5),
(36.5, 22, 0.5),
(53, 20, 0.5),
(53.5, 22, 0.5),
(54, 23, 0.5),
(54.5, 20, 0.5),
(55, 25, 0.5),
(55.5, 21, 0.5),
(56, 17, 0.5),
(56.5, 13, 0.5),
(57, 22, 0.5),
(57.5, 18, 0.5),
(58, 17, 0.5),
(58.5, 20, 0.5),
(59, 18, 1),
]
ListE11 = [
(7, 23, 1),
(8, 27, 0.5),
(8.5, 25, 2),
(10.5, 22, 0.5),
(11, 20, 0.5),
(11.5, 18, 0.5),
(19, 25, 0.5),
(19.5, 24, 0.5),
(20, 23, 0.5),
(20.5, 27, 0.5),
(21, 25, 0.5),
(21.5, 22, 0.5),
(22, 20, 0.5),
(22.5, 18, 0.5),
(29, 15, 0.5),
(29.5, 17, 0.5),
(30, 18, 0.5),
(30.5, 22, 0.5),
(31, 20, 1),
(33.5, 23, 0.5),
(34, 22, 0.5),
(34.5, 17, 0.5),
(35, 20, 0.5),
(35.5, 18, 0.5),
(36, 17, 0.5),
(36.5, 15, 0.5),
(53, 25, 0.5),
(53.5, 24, 0.5),
(54, 23, 0.5),
(54.5, 22, 0.5),
(55, 20, 0.5),
(55.5, 18, 0.5),
(56, 17, 0.5),
(56.5, 15, 0.5),
(57, 13, 0.5),
(57.5, 23, 0.5),
(58, 22, 0.5),
(58.5, 18, 0.5),
(59, 20, 0.5),
(59.5, 18, 0.5),
(60, 17, 0.5),
(60.5, 15, 0.5),
]
ListE12 = [
(7, 29, 2),
(9, 25, 0.5),
(9.5, 23, 0.5),
(10, 22, 0.5),
(10.5, 20, 0.5),
(11, 18, 0.5),
(11.5, 20, 0.5),
(12, 22, 0.5),
(12.5, 25, 0.5),
(19, 23, 0.5),
(19.5, 27, 0.5),
(20, 25, 0.5),
(20.5, 23, 0.5),
(21, 22, 1),
(29, 18, 0.5),
(29.5, 20, 0.5),
(30, 22, 0.5),
(30.5, 18, 0.5),
(31, 25, 0.5),
(31.5, 22, 0.5),
(32, 17, 0.5),
(32.5, 15, 0.5),
(33, 13, 0.5),
(33.5, 22, 0.5),
(34, 23, 0.5),
(34.5, 20, 0.5),
(35, 18, 0.5),
(35.5, 20, 0.5),
(36, 22, 0.5),
(36.5, 25, 0.5),
(53, 15, 0.5),
(53.5, 17, 0.5),
(54, 18, 0.5),
(54.5, 20, 0.5),
(55, 22, 0.5),
(55.5, 20, 0.5),
(56, 17, 0.5),
(56.5, 15, 0.5),
(57, 13, 0.5),
(57.5, 18, 0.5),
(58, 22, 0.5),
(58.5, 25, 0.5),
(59, 30, 1),
(60, 25, 0.5),
(60.5, 27, 0.5),
]
ListE13 = [
(7, 24, 0.5),
(7.5, 27, 0.5),
(8, 25, 1),
(11, 29, 2),
(19, 18, 0.5),
(19.5, 20, 0.5),
(20, 23, 0.5),
(20.5, 27, 0.5),
(21, 18, 0.5),
(21.5, 20, 0.5),
(22, 22, 0.5),
(22.5, 25, 0.5),
(29, 29, 1.33),
(30.33, 27, 0.33),
(30.66, 26, 0.33),
(31, 25, 0.5),
(31.5, 24, 0.5),
(32, 23, 0.5),
(32.5, 22, 0.5),
(33, 20, 0.5),
(33.5, 18, 0.5),
(34, 17, 0.5),
(34.5, 15, 0.5),
(35, 13, 0.5),
(35.5, 15, 0.5),
(36, 17, 0.5),
(36.5, 20, 0.5),
(53, 15, 0.5),
(53.5, 17, 0.5),
(54, 18, 0.5),
(54.5, 15, 0.5),
(55, 22, 0.5),
(55.5, 20, 0.5),
(56, 17, 0.5),
(56.5, 15, 0.5),
(57, 13, 0.5),
(57.5, 15, 0.5),
(58, 17, 0.5),
(58.5, 20, 0.5),
(59, 18, 0.5),
(59.5, 20, 0.5),
(60, 22, 0.5),
(60.5, 25, 0.5),
]
ListE14 = [
(7, 15, 0.5),
(7.5, 11, 0.5),
(8, 10, 0.5),
(8.5, 8, 0.5),
(9, 6, 0.5),
(9.5, 8, 0.5),
(10, 10, 0.5),
(10.5, 11, 0.5),
(11, 13, 0.5),
(11.5, 15, 0.5),
(12, 17, 0.5),
(12.5, 20, 0.5),
(19, 17, 0.5),
(19.5, 20, 0.5),
(20, 23, 0.5),
(20.5, 27, 0.5),
(21, 18, 0.5),
(21.5, 20, 0.5),
(22, 22, 0.5),
(22.5, 25, 0.5),
(29, 29, 1.5),
(30.5, 27, 0.25),
(30.75, 26, 0.25),
(31, 25, 0.5),
(31.5, 23, 0.5),
(32, 22, 0.5),
(32.5, 20, 0.5),
(33, 18, 0.5),
(33.5, 20, 0.5),
(34, 22, 0.5),
(34.5, 25, 0.5),
(35, 30, 1),
(53, 25, 3.5),
(56.5, 23, 0.5),
(57, 22, 0.5),
(57.5, 18, 0.5),
(58, 17, 0.5),
(58.5, 20, 0.5),
(59, 18, 0.5),
(59.5, 20, 0.5),
(60, 22, 0.5),
(60.5, 26, 0.5),
]
ListE15 = [
(7, 15, 0.5),
(7.5, 11, 0.5),
(8, 10, 0.5),
(8.5, 8, 0.5),
(9, 6, 0.5),
(9.5, 8, 0.5),
(10, 10, 0.5),
(10.5, 11, 0.5),
(11, 13, 0.5),
(11.5, 15, 0.5),
(12, 17, 0.5),
(12.5, 20, 0.5),
(19, 23, 0.5),
(19.5, 27, 0.5),
(20, 25, 0.5),
(20.5, 23, 0.5),
(21, 22, 0.5),
(21.5, 18, 0.5),
(22, 20, 0.5),
(22.5, 22, 0.5),
(29, 15, 0.5),
(29.5, 17, 0.5),
(30, 18, 0.5),
(30.5, 20, 0.5),
(31, 22, 0.5),
(31.5, 20, 0.5),
(32, 17, 0.5),
(32.5, 15, 0.5),
(33, 13, 0.5),
(33.5, 23, 0.5),
(34, 22, 0.5),
(34.5, 17, 0.5),
(35, 20, 0.5),
(35.5, 18, 0.5),
(36, 17, 0.5),
(36.5, 15, 0.5),
(53, 29, 2),
(55, 25, 1.5),
(56.5, 23, 0.5),
(57, 22, 0.5),
(57.5, 20, 1),
(58.5, 18, 2),
(60.5, 16, 0.5),
]
ListE16 = [
(7, 10, 1),
(8.5, 13, 2.5),
(19, 13, 2),
(21, 10, 2),
(29, 10, 2),
(31, 8, 1.5),
(32, 13, 4.5),
(53, 22, 2),
(55, 22, 1),
(56.5, 25, 4.5),
]
ListE17 = [
(7, 10, 1),
(8.5, 13, 2.5),
(19, 13, 2),
(21, 10, 2),
(29, 10, 2),
(31, 8, 1.5),
(32, 13, 4.5),
(53, 22, 2),
(55, 22, 1),
(56.5, 25, 4.5),
]
ListG1 = [
(3, 17, 2),
(5, 14, 2),
(13, 14, 1.5),
(14.5, 12, 2.5),
(17, 17, 2),
(37, 14, 2),
(39, 12, 1.5),
(40.5, 17, 2.5),
]
ListG2 = [
(3, 17, 2),
(5, 14, 2),
(13, 14, 1.5),
(14.5, 12, 2.5),
(17, 17, 2),
(37, 14, 2),
(39, 12, 1.5),
(40.5, 17, 2.5),
]
ListG3 = [
(3, 17, 0.5),
(3.5, 19, 0.5),
(4, 21, 0.5),
(4.5, 24, 0.5),
(5, 22, 0.5),
(5.5, 17, 0.5),
(6, 14, 0.5),
(6.5, 9, 0.5),
(13, 19, 0.5),
(13.5, 15, 0.5),
(14, 12, 0.5),
(14.5, 10, 0.5),
(15, 9, 0.5),
(15.5, 18, 0.5),
(16, 17, 0.5),
(16.5, 15, 0.5),
(17, 14, 0.5),
(17.5, 17, 0.5),
(18, 22, 0.5),
(18.5, 26, 0.5),
]
ListG4 = [
(4, 28, 0.5),
(4.5, 27, 0.5),
(5, 26, 0.5),
(5.5, 17, 0.5),
(6, 20, 0.5),
(6.5, 23, 0.5),
(13, 29, 1.5),
(14.5, 25, 1),
(15.5, 21, 0.5),
(16, 17, 1),
(17.5, 17, 0.5),
(18, 22, 0.5),
(18.5, 26, 0.5),
(37.5, 12, 0.5),
(38, 15, 0.33),
(38.33, 19, 0.33),
(38.66, 22, 0.33),
(39, 26, 0.5),
(39.5, 24, 0.5),
(40, 21, 0.5),
(40.5, 19, 0.5),
(41, 17, 0.5),
(41.5, 19, 0.5),
(42, 21, 0.5),
(42.5, 24, 0.5),
(43, 21, 0.5),
(43.5, 23, 0.5),
(44, 26, 0.5),
(44.5, 25, 0.5),
]
ListG5 = [
(3, 17, 0.5),
(3.5, 19, 0.5),
(4, 21, 0.5),
(4.5, 24, 0.5),
(5, 22, 0.5),
(5.5, 17, 0.5),
(6, 14, 0.5),
(6.5, 10, 0.5),
(13, 19, 0.5),
(13.5, 15, 0.5),
(14, 22, 0.5),
(14.5, 18, 0.5),
(15, 26, 0.5),
(15.5, 17, 0.5),
(16, 19, 0.5),
(16.5, 21, 0.5),
(17, 22, 0.5),
(17.5, 24, 0.5),
(18, 26, 0.5),
(18.5, 29, 0.5),
(37, 29, 3.5),
(40.5, 28, 0.25),
(40.75, 27, 0.25),
(41, 26, 0.5),
(41.5, 21, 0.5),
(42, 23, 0.5),
(42.5, 21, 0.5),
(43, 22, 0.5),
(43.5, 17, 0.5),
(44, 14, 0.5),
(44.5, 10, 0.5),
]
ListG6 = [
(3, 17, 0.5),
(3.5, 19, 0.5),
(4, 21, 0.5),
(4.5, 24, 0.5),
(5, 22, 0.5),
(5.5, 17, 0.5),
(6, 14, 0.5),
(6.5, 10, 0.5),
(13, 19, 0.5),
(13.5, 23, 0.5),
(14, 22, 0.5),
(14.5, 19, 0.5),
(15, 26, 0.5),
(15.5, 17, 0.5),
(16, 19, 0.5),
(16.5, 23, 0.5),
(17, 22, 0.5),
(17.5, 24, 0.5),
(18, 26, 0.5),
(18.5, 29, 0.5),
(37, 19, 0.5),
(37.5, 15, 0.5),
(38, 12, 0.5),
(38.5, 7, 0.5),
(39, 10, 1.5),
(40.5, 9, 0.5),
(41, 17, 1),
(43, 26, 1),
]
ListG7 = [
(4.5, 28, 0.25),
(4.75, 27, 0.25),
(5, 26, 0.5),
(5.5, 17, 0.5),
(6, 22, 0.5),
(6.5, 26, 0.5),
(13, 30, 0.5),
(13.5, 17, 1),
(14.5, 26, 0.5),
(15, 24, 1),
(17.5, 17, 0.5),
(18, 22, 0.5),
(18.5, 26, 0.5),
(37, 24, 0.5),
(37.5, 22, 1),
(38.5, 17, 0.25),
(38.75, 22, 0.25),
(39, 26, 1),
(40, 22, 0.5),
(40.5, 25, 2),
(42.5, 22, 0.5),
(43, 26, 0.5),
(43.5, 29, 0.5),
]
ListG8 = [
(3, 17, 0.5),
(3.5, 19, 0.5),
(4, 21, 0.5),
(4.5, 24, 0.5),
(5, 22, 0.5),
(5.5, 17, 0.5),
(6, 14, 0.5),
(6.5, 10, 0.5),
(13, 26, 0.5),
(13.5, 24, 0.5),
(14, 22, 0.5),
(14.5, 21, 1.5),
(17.5, 17, 0.5),
(18, 22, 0.5),
(18.5, 26, 0.5),
(38, 12, 0.25),
(38.25, 14, 0.25),
(38.5, 15, 0.25),
(38.75, 17, 0.25),
(39, 19, 0.25),
(39.25, 21, 0.25),
(39.5, 22, 0.25),
(39.75, 24, 0.25),
(40, 26, 2.5),
(42.5, 21, 0.5),
(43, 24, 0.5),
(43.5, 22, 0.5),
]
ListG9 = [
(3, 17, 0.5),
(3.5, 19, 0.5),
(4, 21, 0.5),
(4.5, 24, 0.5),
(5, 22, 0.5),
(5.5, 17, 0.5),
(6, 14, 0.5),
(6.5, 10, 0.5),
(13, 22, 1.5),
(14.5, 19, 0.5),
(15, 21, 0.5),
(15.5, 22, 0.5),
(16, 24, 0.5),
(16.5, 26, 0.5),
(17, 22, 0.5),
(17.5, 22, 0.5),
(18.5, 26, 0.25),
(18.75, 29, 0.25),
(37, 19, 0.5),
(37.5, 15, 0.5),
(38, 12, 0.5),
(38.5, 10, 0.5),
(39, 17, 1.5),
(40.5, 15, 0.5),
(41, 14, 0.5),
(41.5, 17, 0.5),
(42, 19, 0.5),
(42.5, 21, 1.5),
]
ListG10 = [
(3, 29, 0.5),
(3.5, 27, 1),
(4.5, 24, 1),
(5.5, 27, 0.5),
(6, 26, 0.5),
(6.5, 17, 0.5),
(13, 19, 1),
(15, 26, 0.5),
(15.5, 24, 0.5),
(16, 21, 0.5),
(16.5, 18, 0.5),
(17, 17, 0.5),
(17.5, 19, 0.5),
(18, 21, 0.5),
(18.5, 24, 0.5),
(39, 22, 0.5),
(39.5, 19, 0.5),
(40, 21, 0.5),
(40.5, 24, 0.5),
(41, 22, 0.5),
(41.5, 17, 0.5),
(42, 14, 0.5),
(42.5, 10, 0.5),
(43, 17, 1),
]
ListG11 = [
(3, 17, 0.5),
(3.5, 19, 0.5),
(4, 21, 0.5),
(4.5, 24, 0.5),
(5, 17, 1.5),
(6.5, 22, 0.25),
(6.75, 26, 0.25),
(14, 11, 0.5),
(14.5, 19, 0.25),
(14.75, 22, 0.25),
(15, 26, 1),
(16, 17, 1),
(17, 22, 0.5),
(17.5, 24, 0.5),
(18, 26, 0.5),
(18.5, 27, 0.5),
(37, 19, 0.5),
(37.5, 23, 0.5),
(38.5, 19, 0.5),
(39, 26, 0.5),
(39.5, 24, 0.5),
(40, 21, 0.5),
(40.5, 19, 0.5),
(41, 17, 0.5),
(41.5, 19, 0.5),
(42, 21, 0.5),
(42.5, 24, 0.5),
(43, 22, 0.5),
(43.5, 17, 0.5),
(44, 14, 0.5),
]
ListG12 = [
(3, 17, 0.5),
(3.5, 19, 0.5),
(4, 21, 0.5),
(4.5, 24, 0.5),
(5, 22, 0.5),
(13, 30, 1),
(15, 29, 1.5),
(16.5, 28, 0.25),
(16.75, 27, 0.25),
(17, 25, 0.5),
(17.5, 17, 0.5),
(18, 22, 0.5),
(18.5, 25, 0.5),
(37, 26, 0.5),
(37.5, 24, 0.5),
(38, 22, 0.5),
(38.5, 21, 1),
(39.5, 19, 0.5),
(40, 17, 0.5),
(40.5, 15, 0.5),
(41, 14, 0.5),
(41.5, 17, 0.5),
(42, 22, 0.5),
(42.5, 24, 0.5),
(43, 26, 0.5),
(43.5, 17, 0.5),
(44, 22, 0.5),
(44.5, 26, 0.5),
]
ListG13 = [
(3, 29, 1.5),
(4.5, 26, 1),
(5.5, 30, 0.5),
(6, 26, 0.5),
(6.5, 22, 0.5),
(13, 25, 0.5),
(13.5, 22, 0.5),
(14, 18, 1),
(15, 29, 2),
(17, 26, 0.5),
(17.5, 17, 0.5),
(18, 22, 0.5),
(18.5, 25, 0.5),
(37, 19, 0.5),
(37.5, 22, 0.5),
(38, 22, 0.5),
(38.5, 19, 0.5),
(39, 29, 1.5),
(40.5, 28, 0.5),
(41, 26, 1),
(42, 21, 0.5),
(42.5, 24, 1),
(43.5, 26, 0.5),
(44, 22, 1),
]
ListG14 = [
(3, 17, 0.5),
(3.5, 19, 0.5),
(4, 21, 0.5),
(4.5, 24, 0.5),
(5, 22, 0.5),
(5.5, 17, 0.5),
(6, 14, 0.5),
(6.5, 10, 0.5),
(13, 19, 0.5),
(13.5, 15, 0.5),
(14, 19, 0.5),
(14.5, 22, 0.5),
(15, 26, 0.5),
(15.5, 24, 0.5),
(16, 21, 0.5),
(16.5, 18, 0.5),
(17, 17, 0.5),
(17.5, 19, 0.5),
(18, 22, 0.5),
(18.5, 27, 0.5),
(38.5, 29, 3.5),
(42, 26, 0.5),
(42.5, 21, 1),
(43.5, 21, 0.5),
(44, 19, 1),
]
ListG15 = [
(3, 17, 0.5),
(3.5, 19, 0.5),
(4, 21, 0.5),
(4.5, 24, 0.5),
(5, 22, 0.5),
(5.5, 17, 0.5),
(6, 14, 0.5),
(6.5, 10, 0.5),
(13, 19, 0.5),
(13.5, 22, 0.5),
(14, 22, 0.5),
(14.5, 19, 0.5),
(15, 26, 0.5),
(15.5, 17, 0.5),
(16, 22, 0.5),
(16.5, 26, 0.5),
(17, 22, 0.5),
(17.5, 24, 0.5),
(18, 26, 0.5),
(18.5, 29, 0.5),
(37, 19, 0.5),
(37.5, 15, 0.5),
(38, 19, 0.33),
(38.33, 21, 0.33),
(38.66, 24, 0.33),
(39, 26, 1),
(40, 24, 1),
(41, 24, 1.5),
(42.5, 21, 0.5),
(43, 17, 0.5),
(43.5, 14, 0.5),
]
ListG16 = [
(3, 17, 2),
(5, 14, 2),
(13, 14, 1.5),
(14.5, 12, 2.5),
(17, 17, 2),
(37, 14, 2),
(39, 12, 1.5),
(40.5, 17, 2.5),
]
ListG17 = [
(3, 17, 2),
(5, 14, 2),
(13, 14, 1.5),
(14.5, 12, 2.5),
(17, 17, 2),
(37, 14, 2),
(39, 12, 1.5),
(40.5, 17, 2.5),
]fomer experiment
ListCodeB = [ListB1,ListB2,ListB3,ListB4,ListB5,ListB6,ListB7,ListB8,ListB9,ListB10,ListB11,ListB12,ListB13,ListB14,ListB15,ListB16,ListB17] ListCodeE = [ListE1,ListE2,ListE3,ListE4,ListE5,ListE6,ListE7,ListE8,ListE9,ListE10,ListE11,ListE12,ListE13,ListE14,ListE15,ListE16,ListE17] ListCodeG = [ListG1,ListG2,ListG3,ListG4,ListG5,ListG6,ListG7,ListG8,ListG9,ListG10,ListG11,ListG12,ListG13,ListG14,ListG15,ListG16,ListG17]
angle1=23.14 angle2=23.14/17 angle3=23.14/172 angle4=23.14/173 angle5=23.14/174 angle6=23.14/175 angle7=23.14/176 angle8=23.14/177 angle9=23.14/178 angle10=23.14/179 angle11=23.14/1710 angle12=23.14/1711 angle13=23.14/1712 angle14=23.14/1713 angle15=23.14/1714 angle16=23.14/1715 angle17=23.14/1716
for note in ListB2: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle2, orient_axis='Z')
for note in ListE2: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,0,0), scale=(z5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle2, orient_axis='Z')
for note in ListG2: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=anglex, orient_axis='X')
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle2, orient_axis='Z')
for note in ListB3: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle3, orient_axis='Z')
for note in ListE3: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,0,0), scale=(z5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle3, orient_axis='Z')
for note in ListG3: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=anglex, orient_axis='X')
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle3, orient_axis='Z')
for note in ListB4: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle4, orient_axis='Z')
for note in ListE4: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,0,0), scale=(z5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle4, orient_axis='Z')
for note in ListG4: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=anglex, orient_axis='X')
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle4, orient_axis='Z')
for note in ListB5: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle5, orient_axis='Z')
for note in ListE5: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,0,0), scale=(z5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle5, orient_axis='Z')
for note in ListG5: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=anglex, orient_axis='X')
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle5, orient_axis='Z')
for note in ListB6: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle6, orient_axis='Z')
for note in ListE6: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,0,0), scale=(z5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle6, orient_axis='Z')
for note in ListG6: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=anglex, orient_axis='X')
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle6, orient_axis='Z')
for note in ListB7: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle7, orient_axis='Z')
for note in ListE7: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,0,0), scale=(z5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle1, orient_axis='Z')
for note in ListG7: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=anglex, orient_axis='X')
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle7, orient_axis='Z')
for note in ListB8: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle8, orient_axis='Z')
for note in ListE8: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,0,0), scale=(z5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle8, orient_axis='Z')
for note in ListG8: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=anglex, orient_axis='X')
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle8, orient_axis='Z')
for note in ListB9: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle9, orient_axis='Z')
for note in ListE9: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,0,0), scale=(z5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle9, orient_axis='Z')
for note in ListG9: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=anglex, orient_axis='X')
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle9, orient_axis='Z')
for note in ListB10: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle10, orient_axis='Z')
for note in ListE10: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,0,0), scale=(z5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle10, orient_axis='Z')
for note in ListG10: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=anglex, orient_axis='X')
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle10, orient_axis='Z')
for note in ListB11: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle11, orient_axis='Z')
for note in ListE11: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,0,0), scale=(z5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle11, orient_axis='Z')
for note in ListG11: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=anglex, orient_axis='X')
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle11, orient_axis='Z')
for note in ListB12: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle12, orient_axis='Z')
for note in ListE12: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,0,0), scale=(z5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle12, orient_axis='Z')
for note in ListG12: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=anglex, orient_axis='X')
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle12, orient_axis='Z')
for note in ListB13: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle13, orient_axis='Z')
for note in ListE13: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,0,0), scale=(z5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle13, orient_axis='Z')
for note in ListG13: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=anglex, orient_axis='X')
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle13, orient_axis='Z')
for note in ListB14: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle14, orient_axis='Z')
for note in ListE14: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,0,0), scale=(z5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle14, orient_axis='Z')
for note in ListG14: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=anglex, orient_axis='X')
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle14, orient_axis='Z')
for note in ListB15: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle15, orient_axis='Z')
for note in ListE15: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,0,0), scale=(z5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle15, orient_axis='Z')
for note in ListG15: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=anglex, orient_axis='X')
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle15, orient_axis='Z')
for note in ListB16: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle16, orient_axis='Z')
for note in ListE16: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,0,0), scale=(z5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle16, orient_axis='Z')
for note in ListG16: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=anglex, orient_axis='X')
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle16, orient_axis='Z')
for note in ListB17: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle17, orient_axis='Z')
for note in ListE17: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,0,0), scale=(z5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle17, orient_axis='Z')
for note in ListG17: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2-32)5/32,y/(2t)-5,0), scale=(z*5/32,y/t,l)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
bpy.ops.transform.rotate(value=anglex, orient_axis='X')
bpy.ops.transform.rotate(value=angleA, orient_axis='X')
bpy.ops.transform.rotate(value=angle17, orient_axis='Z')
ListB1 = [(1,21,2),(23,6,1.5),(24.5,9,2.5),(45,18,2),(47,18,1.5),(48.5,21,4.5),(61,21,1.5),(62.5,21,1)] for note in ListB1: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,1), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleB = 0.785 #45 deg
bpy.ops.transform.rotate(value=angleB, orient_axis='Z')
ListB2 = [(1,21,2),(23,6,1.5),(24.5,9,2.5),(45,18,2),(47,18,1.5),(48.5,21,4.5),(61,16,0.5),(61.5,19,0.5),(62,23,0.5),(62.5,26,0.5),(63,25,1.5),(64.5,23,0.5)] for note in ListB2: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,3), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleB2 = 0.785 #45 deg
bpy.ops.transform.rotate(value=angleB2, orient_axis='Z')
ListB3 = [(1,21,0.5),(1.5,18,0.5),(2,14,1),(23,19,0.5),(23.5,23,0.5),(24,25,0.5),(24.5,28,0.5),(25,25,1),(26,23,0.5),(26.5,21,1),(45,18,0.5),(45.5,16,0.5),(46,14,0.5),(46.5,13,1),(47.5,9,0.5),(48,11,0.5),(48.5,13,0.5),(49,14,0.5),(49.5,16,0.5),(50,18,0.5),(50.5,21,0.5),(51,25,0.5),(51.5,24,0.5),(52,23,0.5),(52.5,22,0.5),(62,25,0.5),(62.5,26,0.5),(63,25,1.5),(64.5,21,0.5)] for note in ListB3: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,5), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleB2 = 0.785 #45 deg
bpy.ops.transform.rotate(value=angleB2, orient_axis='Z')
ListB4 = [(1,29,2),(23,19,0.5),(23.5,21,0.5),(24,23,0.5),(24.5,25,0.5),(25,21,1.5),(26.5,18,0.5),(27,16,0.5),(27.5,15,0.5),(28,14,0.5),(28.5,10,0.5),(45,25,1),(46,26,3),(49,25,0.5),(49.5,21,0.5),(50,23,0.5),(50.5,25,0.5),(51,22,0.5),(51.5,18,0.5),(52,16,0.5),(52.5,14,0.5),(61.5,16,0.5),(62,19,0.33),(62.33,23,0.33),(62.66,26,0.33),(63,21,0.5),(63.5,23,0.5),(64,25,0.5),(64.5,28,0.5)] for note in ListB4: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,7), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleB2 = 0.785 #45 deg
bpy.ops.transform.rotate(value=angleB2, orient_axis='Z')
ListB5 = [(1,26,0.5),(1.5,16,0.5),(2,18,0.5),(2.5,21,0.5),(23,19,0.5),(23.5,21,0.5),(24,23,0.5),(24.5,25,0.5),(25,28,1),(26,25,0.5),(26.5,23,0.5),(27,21,0.5),(27.5,18,0.5),(45,18,0.5),(45.5,14,0.5),(46,13,0.5),(46.5,9,0.5),(47,11,0.5),(47.5,10,0.5),(48,11,0.5),(48.5,13,0.5),(49,14,0.5),(49.5,16,0.5),(50,18,0.5),(50.5,21,0.5),(51,25,0.5),(51.5,21,0.5),(52,18,0.5),(52.5,14,0.5),(61,18,1)] for note in ListB5: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,9), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleB2 = 0.785 #45 deg
bpy.ops.transform.rotate(value=angleB2, orient_axis='Z')
ListB6 = [(1.5,9,0.5),(2,14,0.5),(2.5,18,0.5),(25,21,1),(26,18,0.5),(26.5,16,0.5),(27,14,0.5),(27.5,16,0.5),(28,18,0.5),(28.5,21,0.5),(45.5,16,0.5),(46,19,0.33),(46.33,23,0.33),(46.66,26,0.33),(47,25,1),(48,28,1),(49,29,1.5),(50.5,25,0.5),(51,21,0.5),(51.5,18,0.5),(61.5,30,0.5),(62,28,0.5),(62.5,26,0.5),(63,25,1.5),(64.5,21,0.5)] for note in ListB6: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,11), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleB2 = 0.785 #45 deg
bpy.ops.transform.rotate(value=angleB2, orient_axis='Z')
ListB7 = [(1,29,3.5),(23,30,1),(24,28,0.5),(24.5,26,0.5),(25,25,0.5),(25.5,23,0.5),(26,21,0.5),(26.5,19,0.5),(27,18,0.5),(27.5,16,0.5),(28,14,0.5),(28.5,10,0.5),(45.5,16,0.5),(46,19,0.33),(46.33,23,0.33),(46.66,26,0.33),(47,25,0.5),(47.5,28,2.5),(50,25,0.5),(50.5,23,0.5),(51,21,0.5),(51.5,18,0.5),(52,14,1),(62,28,2.5),(64.5,25,0.5)] for note in ListB7: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,13), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleB2 = 0.785 #45 deg
bpy.ops.transform.rotate(value=angleB2, orient_axis='Z')
ListB8 = [(1,23,0.5),(1.5,21,0.5),(2,18,0.5),(2.5,14,0.5),(23,19,0.5),(23.5,23,0.5),(24,25,0.5),(24.5,28,0.5),(25,25,0.5),(25.5,23,0.5),(26,25,0.5),(26.5,21,0.5),(27,25,0.5),(27.5,24,0.5),(28,23,0.5),(28.5,22,0.5),(45.5,16,0.5),(46,19,0.33),(46.33,23,0.33),(46.66,26,0.33),(47,25,1),(48,30,1),(49,28,1.5),(50.5,25,0.5),(51,21,0.5),(51.5,18,0.5),(61,18,0.5,),(61.5,14,0.5,),(62,11,0.5),(62.5,7,0.5,),(63,13,0.5,),(63.5,9,0.5,),(64,11,0.5),(64.5,13,0.5)] for note in ListB8: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,15), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleB2 = 0.785 #45 deg
bpy.ops.transform.rotate(value=angleB2, orient_axis='Z')
ListB9 = [(1,14,0.5),(1.5,16,0.5),(2,18,0.5),(2.5,21,0.5),(23,19,0.5),(23.5,21,0.5),(24,23,0.5),(24.5,25,0.5),(25,28,1),(26,25,0.5),(26.5,23,0.5),(27,21,0.5),(27.5,18,0.5),(28,14,0.5),(28.5,10,0.5),(45.5,16,0.5),(46,19,0.33),(46.33,23,0.33),(46.66,26,0.33),(47,25,1),(48,21,1),(49,21,1.5),(50.5,18,0.5),(51,16,1),(52,14,1),(63.5,25,1.5)] for note in ListB9: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,17), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleB2 = 0.785 #45 deg
bpy.ops.transform.rotate(value=angleB2, orient_axis='Z')
ListB10 = [(1,25,1.5),(2.5,21,0.5),(23,19,0.5),(23.5,21,0.5),(24,23,0.5),(24.5,25,0.5),(25,29,1),(26,25,0.5),(26.5,23,0.5),(27,21,0.5),(27.5,18,0.5),(28,14,0.5),(28.5,10,0.5),(45,18,1),(46,14,0.5),(46.5,9,0.5),(47,13,1.5),(48.5,9,0.5),(49,14,0.5),(49.5,16,0.5),(50,18,0.5),(50.5,19,0.5),(51,25,0.5),(51.5,24,0.5),(52,23,1),(52.5,22,0.5),(62.5,21,2.5)] for note in ListB10: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,19), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleB2 = 0.785 #45 deg
bpy.ops.transform.rotate(value=angleB2, orient_axis='Z')
ListB11 = [(1,14,0.5),(1.5,16,0.5),(2,18,0.5),(2.5,21,0.5),(23,19,0.5),(23.5,21,0.5),(24,23,0.5),(24.5,25,0.5),(25,28,0.5),(25.5,25,0.5),(26,23,0.5),(26.5,21,0.5),(27,18,0.5),(27.5,16,0.5),(28,14,0.5),(28.5,10,0.5),(45,18,0.5),(47,18,1.5),(48.5,13,2),(50.5,9,0.5),(51,14,0.5),(51.5,16,0.5),(52,18,1),(52.5,21,0.5),(61,18,0.5),(61.5,14,0.5),(62,11,0.5),(62.5,7,0.5),(63,13,1.5),(64.5,7,0.5)] for note in ListB11: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,21), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleB2 = 0.785 #45 deg
bpy.ops.transform.rotate(value=angleB2, orient_axis='Z')
ListB12 = [(1,14,0.5),(1.5,16,0.5),(2,18,0.5),(2.5,21,0.5),(23,19,0.5),(23.5,21,0.5),(24,23,0.5),(24.5,25,0.5),(25,28,0.5),(25.5,25,0.5),(26,23,0.5),(26.5,21,0.5),(27,18,0.5),(27.5,18,0.5),(28,14,0.5),(28.5,9,0.5),(45,25,1),(47,28,2),(49,25,1.5),(50.5,28,0.5),(51,25,0.5),(51.5,21,0.5),(52,18,1),(52.5,14,0.5),(61,27,0.5),(61.5,25,2.5),(62,11,0.5)] for note in ListB12: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,23), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleB2 = 0.785 #45 deg
bpy.ops.transform.rotate(value=angleB2, orient_axis='Z')
ListB13 = [(2,28,1),(23,30,3),(26,29,0.5),(26.5,28,0.5),(27,25,0.5),(27.5,21,0.5),(28,18,0.5),(28.5,14,0.5),(46.5,25,2),(48.5,21,0.5),(49,23,0.5),(49.5,25,0.5),(50,21,0.5),(50.5,18,1),(51.5,18,0.5),(52,14,0.5),(52.5,10,0.5),(61,18,0.5),(61.5,14,0.5),(62,11,0.5),(62.5,7,0.5),(63,13,1.5),(64.5,9,0.5)] for note in ListB13: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,25), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleB2 = 0.785 #45 deg
bpy.ops.transform.rotate(value=angleB2, orient_axis='Z')
ListB14 = [(1,14,0.5),(1.5,16,0.5),(2,18,0.5),(2.5,21,0.5),(23,19,0.5),(23.5,21,0.5),(24,23,0.5),(24.5,25,0.5),(25,28,1),(26,25,0.5),(26.5,23,0.5),(27,21,0.5),(27.5,18,0.5),(28,14,1),(45,21,1.5),(46.5,19,0.5),(47,22,1),(48,20,0.5),(48.5,19,2),(50.5,21,0.5),(51,28,1),(52,27,0.5),(52.5,26,0.5),(61,26,1)] for note in ListB15: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,27), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleB2 = 0.785 #45 deg
bpy.ops.transform.rotate(value=angleB2, orient_axis='Z')
ListB15 = [(1.5,18,0.5),(2,21,0.5),(2.5,26,0.5),(23,19,0.5),(23.5,21,0.5),(24,23,0.5),(24.5,25,0.5),(25,28,0.5),(25.5,25,0.5),(26,23,0.5),(26.5,21,0.5),(27,18,0.5),(27.5,16,0.5),(28,14,0.5),(28.5,10,0.5),(46,24,1),(47,23,1),(48,26,1),(49,25,1.5),(50.5,21,0.5),(51,18,1),(52,14,1),(61,18,0.5),(61.5,21,1.5)] for note in ListB16: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,29), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleB2 = 0.785 #45 deg
bpy.ops.transform.rotate(value=angleB2, orient_axis='Z')
ListB16 = [(1,21,2),(23,6,1.5),(24.5,9,2.5),(45,18,2),(47,18,1.5),(48.5,21,4.5),(61,21,1.5),(62.5,21,1)] for note in ListB17: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,31), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleB = 0.785 #45 deg
bpy.ops.transform.rotate(value=angleB, orient_axis='Z')
ListB17 = [(1,21,2),(23,6,1.5),(24.5,9,2.5),(45,18,2),(47,18,1.5),(48.5,21,4.5)] for note in ListB17: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,33), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleB = 0.785 #45 deg
bpy.ops.transform.rotate(value=angleB, orient_axis='Z')
ListE1 = [(7,10,1),(8.5,13,2.5),(19,13,2),(21,10,2),(29,10,2),(31,8,1.5),(32,13,4.5),(53,22,2),(55,22,1),(56.5,25,4.5)] for note in ListE1: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,1), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleE = 2.878 #165 deg
bpy.ops.transform.rotate(value=angleE, orient_axis='Z')
ListE2 = [(7,10,1),(8.5,13,2.5),(19,13,2),(21,10,2),(29,10,2),(31,8,1.5),(32,13,4.5),(53,22,2),(55,22,1),(56.5,25,3.5)] for note in ListE2: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,3), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleE = 2.878 #165 deg
bpy.ops.transform.rotate(value=angleE, orient_axis='Z')
ListE3 = [(7,15,0.5),(7.5,11,0.5),(8,10,0.5),(8.5,8,0.5),(9,6,0.5),(9.5,8,0.5),(10,10,0.5),(10.5,11,0.5),(11,13,0.5),(11.5,15,0.5),(12,17,0.5),(12.5,20,0.5),(19,17,0.5),(19.5,20,0.5),(20,21,0.5),(20.5,27,0.5),(21,18,0.5),(21.5,20,0.5),(22,22,0.5),(22.5,25,0.5),(29,25,0.5),(29.5,24,0.5),(30,23,0.5),(30.5,22,0.5),(31,20,0.5),(31.5,18,0.5),(32,17,0.5),(32.5,15,0.5),(33,13,0.5),(33.5,23,0.5),(34,22,0.5),(34.5,17,0.5),(35,20,0.5),(35.5,18,0.5),(36,17,0.5),(36.5,20,0.5),(53,20,1),(55,22,0.25),(55.25,23,0.25),(55.5,22,0.5),(56,20,0.5),(56.5,17,0.5),(57,18,0.5),(57.5,20,0.5),(58,22,0.5),(58.5,25,0.5),(59,30,1),(60,25,1)] for note in ListE3: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,5), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleE = 2.878 #165 deg
bpy.ops.transform.rotate(value=angleE, orient_axis='Z')
ListE4 = [(7,25,0.5),(7.5,24,0.5),(8,23,0.5),(8.5,27,0.5),(9,25,0.5),(9.5,22,0.5),(10,20,0.5),(10.5,18,0.5),(11,22,0.5),(11.5,18,0.5),(19,17,0.5),(19.5,20,0.5),(20,23,0.5),(20.5,27,0.5),(21,18,0.5),(21.5,20,0.5),(22,22,0.5),(22.5,25,0.5),(29,15,0.5),(29.5,17,0.5),(30,18,0.5),(30.5,15,0.5),(31,22,0.5),(31.5,20,0.5),(32,17,0.5),(32.5,15,0.5),(33,13,1),(34.5,23,0.5),(35,22,0.5),(35.5,18,0.5),(53,15,0.5),(53.5,17,0.5),(54,18,0.5),(54.5,15,0.5),(55,22,0.5),(55.5,20,0.5),(56,17,0.5),(56.5,15,0.5),(57,13,1.5),(58.5,20,1.5)] for note in ListE4: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,7), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleE = 2.878 #165 deg
bpy.ops.transform.rotate(value=angleE, orient_axis='Z')
ListE5 = [(7,15,0.5),(7.5,11,0.5),(8,10,0.5),(8.5,8,0.5),(9,6,0.5),(9.5,8,0.5),(10,10,0.5),(10.5,11,0.5),(11,13,0.5),(11.5,15,0.5),(12,17,0.5),(12.5,20,0.5),(19,23,0.5),(19.5,27,0.5),(20,25,0.5),(20.5,23,0.5),(21,22,0.5),(21.5,18,0.5),(22,20,0.5),(22.5,22,0.5),(31,29,1),(32.5,27,0.25),(32.75,26,0.25),(33,24,0.5),(33.5,23,0.5),(34,22,0.5),(34.5,20,0.5),(35,18,0.5),(35.5,20,0.5),(36,22,0.5),(36.5,25,0.5),(53,23,1.5),(54.5,22,0.5),(55,22,0.5),(55.5,20,0.5),(56,17,0.5),(56.5,15,0.5),(57,13,0.5),(57.5,11,0.5),(58,10,0.5),(58.5,8,0.5),(59,6,0.5),(59.5,8,0.5),(60,9,0.5),(60.5,13,0.5)] for note in ListE5: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,9), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleE = 2.878 #165 deg
bpy.ops.transform.rotate(value=angleE, orient_axis='Z')
ListE6 = [(7,15,0.5),(7.5,11,0.5),(8,10,0.5),(8.5,8,0.5),(9,6,0.5),(9.5,8,0.5),(10,10,0.5),(10.5,11,0.5),(11,13,0.5),(11.5,15,0.5),(12,17,0.5),(12.5,20,0.5),(19,17,0.5),(19.5,20,0.5),(20,23,0.5),(20.5,27,0.5),(21,18,0.5),(21.5,20,0.5),(22,22,0.5),(22.5,22,0.5),(29,25,0.5),(29.5,24,0.5),(30,23,0.5),(30.5,22,0.5),(31,20,1),(31.5,18,0.5),(32,17,0.5),(32.5,15,0.25),(33,13,0.5),(33.5,23,0.5),(34,22,0.5),(34.5,17,0.5),(35,20,0.5),(35.5,18,0.5),(36,17,0.5),(36.5,20,0.5),(53,29,2),(55,25,0.5),(55.5,23,0.5),(56,22,0.5),(56.5,20,0.5),(57,18,0.5),(57.5,20,0.5),(58,22,0.5),(58.5,25,0.5),(59,6,0.5),(60,30,1)] for note in ListE6: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,11), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleE = 2.878 #165 deg
bpy.ops.transform.rotate(value=angleE, orient_axis='Z')
ListE7 = [(7,25,0.5),(7.5,24,0.5),(8,23,0.5),(8.5,27,0.5),(9,25,0.5),(9.5,22,0.5),(10,20,0.5),(10.5,18,0.5),(11,22,0.5),(11.5,25,1),(12.5,30,0.5),(19,17,0.5),(19.5,20,0.5),(20,23,0.5),(20.5,27,0.5),(21,18,0.5),(21.5,20,0.5),(22,22,0.5),(22.5,25,0.5),(29,15,0.5),(29.5,17,0.5),(30,18,0.5),(30.5,20,0.5),(31,22,1),(31.5,20,0.5),(32,17,0.5),(32.5,15,0.25),(33,13,0.5),(33.5,23,0.5),(34,22,0.5),(34.5,17,0.5),(35,20,0.5),(35.5,18,0.5),(36,17,0.5),(36.5,15,0.5),(53,29,1.5),(54.5,27,0.25),(54.75,26,0.25),(55,25,0.5),(55.5,23,0.5),(56,22,0.5),(56.5,20,0.5),(57,18,0.5),(57.5,20,0.5),(58,22,0.5),(58.5,25,0.5),(59,30,0.5)] for note in ListE7: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,13), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleE = 2.878 #165 deg
bpy.ops.transform.rotate(value=angleE, orient_axis='Z')
ListE8 = [(7,15,0.5),(7.5,18,0.5),(8,17,0.5),(8.5,15,0.5),(9,13,0.5),(9.5,15,0.5),(10,17,0.5),(10.5,20,0.5),(11,18,0.5),(11.5,20,0.5),(12,22,0.5),(12.5,25,0.5),(19,17,0.5),(19.5,20,0.5),(20,23,0.5),(20.5,27,0.5),(21,18,0.5),(21.5,20,0.5),(22,22,0.5),(22.5,25,0.5),(29,20,0.5),(29.5,18,0.5),(30,17,0.5),(30.5,15,0.5),(31,13,0.5),(31.5,11,0.5),(32,10,0.5),(32.5,8,0.25),(33,6,0.25),(33.25,8,0.25),(33.5,10,0.25),(33.75,11,0.25),(34,13,0.25),(34.25,15,0.25),(34.5,17,0.25),(34.75,18,0.25),(35,20,0.25),(35.25,22,0.25),(35.5,23,0.25),(35.75,25,0.75),(54,29,1),(55,25,0.5),(55.5,23,0.5),(56,22,0.5),(56.5,20,0.5),(57,18,0.5),(57.5,17,0.5),(58,20,0.5),(58.5,17,0.5),(59,19,0.5),(59.5,20,0.5),(60,22,0.5),(60.5,25,0.5)] for note in ListE8: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,15), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleE = 2.878 #165 deg
bpy.ops.transform.rotate(value=angleE, orient_axis='Z')
ListE9 = [(7,15,0.5),(7.5,18,0.5),(8,17,0.5),(8.5,15,0.5),(9,13,0.5),(9.5,22,0.5),(12.5,22,0.5),(19,23,0.5),(19.5,27,0.5),(20,25,0.5),(20.5,23,0.5),(21,22,0.5),(21.5,18,0.5),(22,20,0.5),(22.5,22,0.5),(29,15,0.5),(29.5,17,0.5),(30,18,0.5),(30.5,20,0.5),(31,22,0.5),(31.5,20,0.5),(32,17,0.5),(32.5,15,0.5),(33,13,0.5),(33.5,23,0.5),(34,22,0.5),(34.5,17,0.5),(35,20,0.5),(35.5,18,0.5),(36,17,0.5),(36.5,20,0.5),(53,15,0.5),(53.5,17,0.5),(54,18,0.5),(54.5,15,0.5),(55,22,0.5),(55.5,20,0.5),(56,17,0.5),(56.5,15,0.5),(57,13,0.5),(57.5,18,0.5),(58,20,0.5),(58.5,22,1),(59.5,22,0.5),(60,25,1)] for note in ListE9: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,17), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleE = 2.878 #165 deg
bpy.ops.transform.rotate(value=angleE, orient_axis='Z')
ListE10 = [(7,22,0.5),(7.5,26,0.5),(8,25,0.5),(8.5,24,0.5),(9,23,0.5),(9.5,27,0.5),(10,25,0.5),(10.5,22,0.5),(11,20,0.5),(11.5,18,0.5),(12,22,0.5),(12.5,25,0.5),(19,17,0.5),(19.5,20,0.5),(20,23,0.5),(20.5,27,0.5),(21,18,0.5),(21.5,20,0.5),(22,22,0.5),(22.5,25,0.5),(29,22,0.5),(29.5,23,0.5),(30,22,0.5),(30.5,20,0.25),(30.75,18,0.25),(31,17,0.5),(31.5,15,0.5),(32,13,0.5),(32.5,11,0.5),(33,10,0.5),(33.5,13,0.5),(34,15,0.5),(34.5,17,0.5),(35,20,0.5),(35.5,18,0.5),(36,22,0.5),(36.5,22,0.5),(53,20,0.5),(53.5,22,0.5),(54,23,0.5),(54.5,20,0.5),(55,25,0.5),(55.5,21,0.5),(56,17,0.5),(56.5,13,0.5),(57,22,0.5),(57.5,18,0.5),(58,17,0.5),(58.5,20,0.5),(59,18,1)] for note in ListE10: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,19), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleE = 2.878 #165 deg
bpy.ops.transform.rotate(value=angleE, orient_axis='Z')
ListE11 = [(7,23,1),(8,27,0.5),(8.5,25,2),(10.5,22,0.5),(11,20,0.5),(11.5,18,0.5),(19,25,0.5),(19.5,24,0.5),(20,23,0.5),(20.5,27,0.5),(21,25,0.5),(21.5,22,0.5),(22,20,0.5),(22.5,18,0.5),(29,15,0.5),(29.5,17,0.5),(30,18,0.5),(30.5,22,0.5),(31,20,1),(33.5,23,0.5),(34,22,0.5),(34.5,17,0.5),(35,20,0.5),(35.5,18,0.5),(36,17,0.5),(36.5,15,0.5),(53,25,0.5),(53.5,24,0.5),(54,23,0.5),(54.5,22,0.5),(55,20,0.5),(55.5,18,0.5),(56,17,0.5),(56.5,15,0.5),(57,13,0.5),(57.5,23,0.5),(58,22,0.5),(58.5,18,0.5),(59,20,0.5),(59.5,18,0.5),(60,17,0.5),(60.5,15,0.5)] for note in ListE11: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,21), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleE = 2.878 #165 deg
bpy.ops.transform.rotate(value=angleE, orient_axis='Z')
ListE12 = [(7,29,2),(9,25,0.5),(9.5,23,0.5),(10,22,0.5),(10.5,20,0.5),(11,18,0.5),(11.5,20,0.5),(12,22,0.5),(12.5,25,0.5),(19,23,0.5),(19.5,27,0.5),(20,25,0.5),(20.5,23,0.5),(21,22,1),(29,18,0.5),(29.5,20,0.5),(30,22,0.5),(30.5,18,0.5),(31,25,0.5),(31.5,22,0.5),(32,17,0.5),(32.5,15,0.5),(33,13,0.5),(33.5,22,0.5),(34,23,0.5),(34.5,20,0.5),(35,18,0.5),(35.5,20,0.5),(36,22,0.5),(36.5,25,0.5),(53,15,0.5),(53.5,17,0.5),(54,18,0.5),(54.5,20,0.5),(55,22,0.5),(55.5,20,0.5),(56,17,0.5),(56.5,15,0.5),(57,13,0.5),(57.5,18,0.5),(58,22,0.5),(58.5,25,0.5),(59,30,1),(60,25,0.5),(60.5,27,0.5)] for note in ListE12: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,23), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleE = 2.878 #165 deg
bpy.ops.transform.rotate(value=angleE, orient_axis='Z')
ListE13 = [(7,24,0.5),(7.5,27,0.5),(8,25,1),(11,29,2),(19,18,0.5),(19.5,20,0.5),(20,23,0.5),(20.5,27,0.5),(21,18,0.5),(21.5,20,0.5),(22,22,0.5),(22.5,25,0.5),(29,29,1.33),(30.33,27,0.33),(30.66,26,0.33),(31,25,0.5),(31.5,24,0.5),(32,23,0.5),(32.5,22,0.5),(33,20,0.5),(33.5,18,0.5),(34,17,0.5),(34.5,15,0.5),(35,13,0.5),(35.5,15,0.5),(36,17,0.5),(36.5,20,0.5),(53,15,0.5),(53.5,17,0.5),(54,18,0.5),(54.5,15,0.5),(55,22,0.5),(55.5,20,0.5),(56,17,0.5),(56.5,15,0.5),(57,13,0.5),(57.5,15,0.5),(58,17,0.5),(58.5,20,0.5),(59,18,0.5),(59.5,20,0.5),(60,22,0.5),(60.5,25,0.5)] for note in ListE13: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,25), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleE = 2.878 #165 deg
bpy.ops.transform.rotate(value=angleE, orient_axis='Z')
ListE14 = [(7,15,0.5),(7.5,11,0.5),(8,10,0.5),(8.5,8,0.5),(9,6,0.5),(9.5,8,0.5),(10,10,0.5),(10.5,11,0.5),(11,13,0.5),(11.5,15,0.5),(12,17,0.5),(12.5,20,0.5),(19,17,0.5),(19.5,20,0.5),(20,23,0.5),(20.5,27,0.5),(21,18,0.5),(21.5,20,0.5),(22,22,0.5),(22.5,25,0.5),(29,29,1.5),(30.5,27,0.25),(30.75,26,0.25),(31,25,0.5),(31.5,23,0.5),(32,22,0.5),(32.5,20,0.5),(33,18,0.5),(33.5,20,0.5),(34,22,0.5),(34.5,25,0.5),(35,30,1),(53,25,3.5),(56.5,23,0.5),(57,22,0.5),(57.5,18,0.5),(58,17,0.5),(58.5,20,0.5),(59,18,0.5),(59.5,20,0.5),(60,22,0.5),(60.5,26,0.5)] for note in ListE15: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,27), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleE = 2.878 #165 deg
bpy.ops.transform.rotate(value=angleE, orient_axis='Z')
ListE15 = [(7,15,0.5),(7.5,11,0.5),(8,10,0.5),(8.5,8,0.5),(9,6,0.5),(9.5,8,0.5),(10,10,0.5),(10.5,11,0.5),(11,13,0.5),(11.5,15,0.5),(12,17,0.5),(12.5,20,0.5),(19,23,0.5),(19.5,27,0.5),(20,25,0.5),(20.5,23,0.5),(21,22,0.5),(21.5,18,0.5),(22,20,0.5),(22.5,22,0.5),(29,15,0.5),(29.5,17,0.5),(30,18,0.5),(30.5,20,0.5),(31,22,0.5),(31.5,20,0.5),(32,17,0.5),(32.5,15,0.5),(33,13,0.5),(33.5,23,0.5),(34,22,0.5),(34.5,17,0.5),(35,20,0.5),(35.5,18,0.5),(36,17,0.5),(36.5,15,0.5),(53,29,2),(55,25,1.5),(56.5,23,0.5),(57,22,0.5),(57.5,20,1),(58.5,18,2),(60.5,16,0.5)] for note in ListE16: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,29), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleE = 2.878 #165 deg
bpy.ops.transform.rotate(value=angleE, orient_axis='Z')
ListE16 = [(7,10,1),(8.5,13,2.5),(19,13,2),(21,10,2),(29,10,2),(31,8,1.5),(32,13,4.5),(53,22,2),(55,22,1),(56.5,25,4.5)] for note in ListE17: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,31), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleE = 2.878 #165 deg
bpy.ops.transform.rotate(value=angleE, orient_axis='Z')
ListE17 = [(7,10,1),(8.5,13,2.5),(19,13,2),(21,10,2),(29,10,2),(31,8,1.5),(32,13,4.5),(53,22,2),(55,22,1),(56.5,25,4.5)] for note in ListE1: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,33), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleE = 2.878 #165 deg
bpy.ops.transform.rotate(value=angleE, orient_axis='Z')
ListG1 = [(3,17,2),(5,14,2),(13,14,1.5),(14.5,12,2.5),(17,17,2),(37,14,2),(39,12,1.5),(40.5,17,2.5)] for note in ListG1: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,1), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleG = 4.972 #285 deg
bpy.ops.transform.rotate(value=angleG, orient_axis='Z')
ListG2 = [(3,17,2),(5,14,2),(13,14,1.5),(14.5,12,2.5),(17,17,2),(37,14,2),(39,12,1.5),(40.5,17,2.5)] for note in ListG2: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,3), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleG = 4.972 #285 deg
bpy.ops.transform.rotate(value=angleG, orient_axis='Z')
ListG3 = [(3,17,0.5),(3.5,19,0.5),(4,21,0.5),(4.5,24,0.5),(5,22,0.5),(5.5,17,0.5),(6,14,0.5),(6.5,9,0.5),(13,19,0.5),(13.5,15,0.5),(14,12,0.5),(14.5,10,0.5),(15,9,0.5),(15.5,18,0.5),(16,17,0.5),(16.5,15,0.5),(17,14,0.5),(17.5,17,0.5),(18,22,0.5),(18.5,26,0.5),(37,19,0.5),(37.5,15,0.5),(38,12,0.5),(38.5,7,0.5),(39,10,0.5),(39.5,7,0.5),(40,9,0.5),(40.5,18,0.5),(41,17,0.5),(41.5,15,0.5),(42,14,0.5),(42.5,12,0.5),(43,10,0.5),(43.5,12,0.5),(44,13,0.5),(44.5,17,0.5)] for note in ListG3: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,5), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleG = 4.972 #285 deg
bpy.ops.transform.rotate(value=angleG, orient_axis='Z')
ListG4 = [(4,28,0.5),(4.5,27,0.5),(5,26,0.5),(5.5,17,0.5),(6,20,0.5),(6.5,23,0.5),(13,29,1.5),(14.5,25,1),(15.5,21,0.5),(16,17,1),(17.5,17,0.5),(18,22,0.5),(18.5,26,0.5),(37.5,12,0.5),(38,15,0.33),(38.33,19,0.33),(38.66,22,0.33),(39,26,0.5),(39.5,24,0.5),(40,21,0.5),(40.5,19,0.5),(41,17,0.5),(41.5,19,0.5),(42,21,0.5),(42.5,24,0.5),(43,21,0.5),(43.5,23,0.5),(44,26,0.5),(44.5,25,0.5)] for note in ListG4: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,7), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleG = 4.972 #285 deg
bpy.ops.transform.rotate(value=angleG, orient_axis='Z')
ListG5 = [(3,17,0.5),(3.5,19,0.5),(4,21,0.5),(4.5,24,0.5),(5,22,0.5),(5.5,17,0.5),(6,14,0.5),(6.5,10,0.5),(13,19,0.5),(13.5,15,0.5),(14,22,0.5),(14.5,18,0.5),(15,26,0.5),(15.5,17,0.5),(16,19,0.5),(16.5,21,0.5),(17,22,0.5),(17.5,24,0.5),(18,26,0.5),(18.5,29,0.5),(37,29,3.5),(40.5,28,0.25),(40.75,27,0.25),(41,26,0.5),(41.5,21,0.5),(42,23,0.5),(42.5,21,0.5),(43,22,0.5),(43.5,17,0.5),(44,14,0.5),(44.5,10,0.5)] for note in ListG5: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,9), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleG = 4.972 #285 deg
bpy.ops.transform.rotate(value=angleG, orient_axis='Z')
ListG6 = [(3,17,0.5),(3.5,19,0.5),(4,21,0.5),(4.5,24,0.5),(5,22,0.5),(5.5,17,0.5),(6,14,0.5),(6.5,10,0.5),(13,19,0.5),(13.5,23,0.5),(14,22,0.5),(14.5,19,0.5),(15,26,0.5),(15.5,17,0.5),(16,19,0.5),(16.5,23,0.5),(17,22,0.5),(17.5,24,0.5),(18,26,0.5),(18.5,29,0.5),(37,19,0.5),(37.5,15,0.5),(38,12,0.5),(38.5,7,0.5),(39,10,1.5),(40.5,9,0.5),(41,17,1),(43,26,1)] for note in ListG6: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,11), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleG = 4.972 #285 deg
bpy.ops.transform.rotate(value=angleG, orient_axis='Z')
ListG7 = [(4.5,28,0.25),(4.75,27,0.25),(5,26,0.5),(5.5,17,0.5),(6,22,0.5),(6.5,26,0.5),(13,30,0.5),(13.5,17,1),(14.5,26,0.5),(15,24,1),(17.5,17,0.5),(18,22,0.5),(18.5,26,0.5),(37,24,0.5),(37.5,22,1),(38.5,17,0.25),(38.75,22,0.25),(39,26,1),(40,22,0.5),(40.5,25,2),(42.5,22,0.5),(43,26,0.5),(43.5,29,0.5)] for note in ListG7: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,13), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleG = 4.972 #285 deg
bpy.ops.transform.rotate(value=angleG, orient_axis='Z')
ListG8 = [(3,17,0.5),(3.5,19,0.5),(4,21,0.5),(4.5,24,0.5),(5,22,0.5),(5.5,17,0.5),(6,14,0.5),(6.5,10,0.5),(13,26,0.5),(13.5,24,0.5),(14,22,0.5),(14.5,21,1.5),(17.5,17,0.5),(18,22,0.5),(18.5,26,0.5),(38,12,0.25),(38.25,14,0.25),(38.5,15,0.25),(38.75,17,0.25),(39,19,0.25),(39.25,21,0.25),(39.5,22,0.25),(39.75,24,0.25),(40,26,2.5),(42.5,21,0.5),(43,24,0.5),(43.5,22,0.5)] for note in ListG8: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,15), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleG = 4.972 #285 deg
bpy.ops.transform.rotate(value=angleG, orient_axis='Z')
ListG9 = [(3,17,0.5),(3.5,19,0.5),(4,21,0.5),(4.5,24,0.5),(5,22,0.5),(5.5,17,0.5),(6,14,0.5),(6.5,10,0.5),(13,22,1.5),(14.5,19,0.5),(15,21,0.5),(15.5,22,0.5),(16,24,0.5),(16.5,26,0.5),(17,22,0.5),(17.5,22,0.5),(18.5,26,0.25),(18.75,29,0.25),(37,19,0.5),(37.5,15,0.5),(38,12,0.5),(38.5,10,0.5),(39,17,1.5),(40.5,15,0.5),(41,14,0.5),(41.5,17,0.5),(42,19,0.5),(42.5,21,1.5)] for note in ListG9: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,17), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleG = 4.972 #285 deg
bpy.ops.transform.rotate(value=angleG, orient_axis='Z')
ListG10 = [(3,29,0.5),(3.5,27,1),(4.5,24,1),(5.5,27,0.5),(6,26,0.5),(6.5,17,0.5),(13,19,1),(15,26,0.5),(15.5,24,0.5),(16,21,0.5),(16.5,18,0.5),(17,17,0.5),(17.5,19,0.5),(18,21,0.5),(18.5,24,0.5),(39,22,0.5),(39.5,19,0.5),(40,21,0.5),(40.5,24,0.5),(41,22,0.5),(41.5,17,0.5),(42,14,0.5),(42.5,10,0.5),(43,17,1)] for note in ListG10: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,19), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleG = 4.972 #285 deg
bpy.ops.transform.rotate(value=angleG, orient_axis='Z')
ListG11 = [(3,17,0.5),(3.5,19,0.5),(4,21,0.5),(4.5,24,0.5),(5,17,1.5),(6.5,22,0.25),(6.75,26,0.25),(14,11,0.5),(14.5,19,0.25),(14.75,22,0.25),(15,26,1),(16,17,1),(17,22,0.5),(17.5,24,0.5),(18,26,0.5),(18.5,27,0.5),(37,19,0.5),(37.5,23,0.5),(38.5,19,0.5),(39,26,0.5),(39.5,24,0.5),(40,21,0.5),(40.5,19,0.5),(41,17,0.5),(41.5,19,0.5),(42,21,0.5),(42.5,24,0.5),(43,22,0.5),(43.5,17,0.5),(44,14,0.5)] for note in ListG11: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,21), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleG = 4.972 #285 deg
bpy.ops.transform.rotate(value=angleG, orient_axis='Z')
ListG12 = [(3,17,0.5),(3.5,19,0.5),(4,21,0.5),(4.5,24,0.5),(5,22,0.5),(13,30,1),(15,29,1.5),(16.5,28,0.25),(16.75,27,0.25),(17,26,0.5),(17.5,17,0.5),(18,22,0.5),(18.5,25,0.5),(37,26,0.5),(37.5,24,0.5),(38,22,0.5),(38.5,21,1),(39.5,19,0.5),(40,17,0.5),(40.5,15,0.5),(41,14,0.5),(41.5,17,0.5),(42,22,0.5),(42.5,24,0.5),(43,26,0.5),(43.5,17,0.5),(44,22,0.5),(44.5,26,0.5)] for note in ListG12: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,23), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleG = 4.972 #285 deg
bpy.ops.transform.rotate(value=angleG, orient_axis='Z')
ListG13 = [(3,29,1.5),(4.5,26,1),(5.5,30,0.5),(6,26,0.5),(6.5,22,0.5),(13,25,0.5),(13.5,22,0.5),(14,18,1),(15,29,2),(17,26,0.5),(17.5,17,0.5),(18,22,0.5),(18.5,25,0.5),(37,19,0.5),(37.5,22,0.5),(38,22,0.5),(38.5,19,0.5),(39,29,1.5),(40.5,28,0.5),(41,26,1),(42,21,0.5),(42.5,24,1),(43.5,26,0.5),(44,22,1)] for note in ListG13: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,25), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleG = 4.972 #285 deg
bpy.ops.transform.rotate(value=angleG, orient_axis='Z')
ListG14 = [(3,17,0.5),(3.5,19,0.5),(4,21,0.5),(4.5,24,0.5),(5,22,0.5),(5.5,17,0.5),(6,14,0.5),(6.5,10,0.5),(13,19,0.5),(13.5,15,0.5),(14,19,0.5),(14.5,22,0.5),(15,26,0.5),(15.5,24,0.5),(16,21,0.5),(16.5,18,0.5),(17,17,0.5),(17.5,19,0.5),(18,22,0.5),(18.5,27,0.5),(38.5,29,3.5),(42,26,0.5),(42.5,21,1),(43.5,21,0.5),(44,19,1)] for note in ListG15: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,27), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleG = 4.972 #285 deg
bpy.ops.transform.rotate(value=angleG, orient_axis='Z')
ListG15 = [(3,17,0.5),(3.5,19,0.5),(4,21,0.5),(4.5,24,0.5),(5,22,0.5),(5.5,17,0.5),(6,14,0.5),(6.5,10,0.5),(13,19,0.5),(13.5,22,0.5),(14,22,0.5),(14.5,19,0.5),(15,26,0.5),(15.5,17,0.5),(16,22,0.5),(16.5,26,0.5),(17,22,0.5),(17.5,24,0.5),(18,26,0.5),(18.5,29,0.5),(37,19,0.5),(37.5,15,0.5),(38,19,0.33),(38.33,21,0.33),(38.66,24,0.33),(39,26,1),(40,24,1),(41,24,1.5),(42.5,21,0.5),(43,17,0.5),(43.5,14,0.5)] for note in ListG16: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,29), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleG = 4.972 #285 deg
bpy.ops.transform.rotate(value=angleG, orient_axis='Z')
ListG16 = [(3,17,2),(5,14,2),(13,14,1.5),(14.5,12,2.5),(17,17,2),(37,14,2),(39,12,1.5),(40.5,17,2.5)] for note in ListG17: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,31), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleG = 4.972 #285 deg
bpy.ops.transform.rotate(value=angleG, orient_axis='Z')
ListG17 = [(3,17,2),(5,14,2),(13,14,1.5),(14.5,12,2.5),(17,17,2),(37,14,2),(39,12,1.5),(40.5,17,2.5)] for note in ListG18: x,y,z = note bpy.ops.mesh.primitive_cube_add(size=1, location=((x+z/2)/2,0,33), scale=(z/2,2*y,2)) bpy.ops.object.origin_set(type=’ORIGIN_CURSOR’, center=’MEDIAN’)
angleG = 4.972 #285 deg
bpy.ops.transform.rotate(value=angleG, orient_axis='Z')
ListB = [(1,2,21,2),(23,2,6,1.5),(24.5,3,9,2.5),(49,1,18,2),(51,2,18,1),(52,3,21,4.5),(65,1,23,1.5),(66.5,3,23,1)] angle=0
for note in ListB: X,Y,Z,L = note x,y,z,l = X-Y/2,Y3*(1/2)/2,Z,L bpy.ops.mesh.primitive_cube_add(size=1, location=(x,0,0), scale=(l,y,z))
bpy.ops.object.origin_set(type='ORIGIN_CURSOR', center='MEDIAN')
ListE = [(7,2,10,1),(8.5,3,13,2.5),(19,2,13,2),(21,3,10,2),(29,1,10,2),(31,2,8,1.5),(32,3,13,4.5),(53,1,22,2),(55,2,22,1),(56,3,25,4.5)] anglee=0
for note in ListE: Xe,Ye,Ze,Le = note xe,ye,ze,le = Xe-Ye/2,Ye3*(1/2)/2,Ze,Le bpy.ops.mesh.primitive_cube_add(size=1, location=(xe,0,0), scale=(le,ye,ze))
bpy.ops.object.origin_set(type='ORIGIN_CURSOR', center='MEDIAN')
anglee = anglee+2.0944 #120 deg
bpy.ops.transform.rotate(value=anglee, orient_axis='Z')
ListG = [(3,2,17,2),(5,3,14,2),(13,1,14,1.5),(14.5,2,12,2.5),(17,3,17,2),(37,1,14,2),(39,2,12,1.5),(40.5,3,17,2.5)] angleg=0
for note in ListG: Xg,Yg,Zg,Lg = note xg,yg,zg,lg = Xg-Yg/2,Yg3*(1/2)/2,Zg,Lg bpy.ops.mesh.primitive_cube_add(size=1, location=(xg,0,0), scale=(lg,yg,zg))
bpy.ops.object.origin_set(type='ORIGIN_CURSOR', center='MEDIAN')
angleg = angleg+2.0944*2 #120 deg
bpy.ops.transform.rotate(value=angleg, orient_axis='Z')
angle = angle+2.0944 #120 deg bpy.ops.transform.rotate(value=angle, orient_axis=’Z’)
for note in ListB: x,y,z,l = note bpy.ops.mesh.primitive_cube_add(size=1, location=(l,0,0), scale=(x,y,z))
bpy.ops.object.origin_set(type='ORIGIN_CURSOR', center='MEDIAN')
(x,y,z,l)=(X-Y/2,Y,Z,L) myVerticles = [(x,y,z),(x+l,y,z),(x+l,0,z),(x,0,z),(x,y,0),(x+l,y,0),(x+l,0,0),(x,0,0)] myFaces = [(0,1,2,3),(0,1,5,4),(1,2,6,5),(2,3,7,6),(3,0,4,7),(4,5,6,7)]
angle=0 for note in ListB: x,y,z,l = note bpy.ops.mesh.primitive_cube_add(size=1, location=(l,0,0), scale=(x,y,z))
bpy.ops.object.origin_set(type='ORIGIN_CURSOR', center='MEDIAN')
angle = angle+2.0944 #120 deg
bpy.ops.transform.rotate(value=angle, orient_axis='Z')
“key in E” for i in range(0,200): (X1,Y1,Z1,L1)=(56,3,25,4.5) (x1,y1,z1,l1)=(((-1)(X1+Y1(3(1/2)))/2,((3(1/2))*X1-Y1)/2,Z1,L1)) myVerticles1 = [(x1,y1,z1),(x1+l1,y1,z1),(x1+l1,0,z1),(x1,0,z1),(x1,y1,0),(x1+l1,y1,0),(x1+l1,0,0),(x1,0,0)] myFaces1 = [(0,1,2,3),(0,1,5,4),(1,2,6,5),(2,3,7,6),(3,0,4,7),(4,5,6,7)
“key in G” (X2,Y2,Z2,L2)=(233,2,17,2) (x2,y2,z2,l2)=((X2-Y2(3(1/2))(-1)0.5,((3(1/2))X2+Y2)(-1)0.5,Z2,L2)) myVerticles2 = [(x2,y2,z2),(x2+l2,y2,z2),(x2+l2,0,z),(x2,0,z2),(x2,y2,0),(x2+l2,y2,0),(x2+l2,0,0),(x2,0,0)] myFaces2 = [(0,1,2,3),(0,1,5,4),(1,2,6,5),(2,3,7,6),(3,0,4,7),(4,5,6,7)]
myMesh = bpy.data.meshes.new(‘trihedronMesh’) myObject = bpy.data.objects.new(‘trihedron’, myMesh)
myMesh1 = bpy.data.meshes.new(‘trihedronMesh’) myObject1 = bpy.data.objects.new(‘trihedron’, myMesh1)
myMesh2 = bpy.data.meshes.new(‘trihedronMesh’) myObject2 = bpy.data.objects.new(‘trihedron’, myMesh2)
myCollection = bpy.context.collection myCollection.objects.link(myObject) myCollection.objects.link(myObject1) myCollection.objects.link(myObject2)
myMesh.from_pydata (myVerticles, [] , myFaces) myMesh1.from_pydata (myVerticles1, [] , myFaces1) myMesh2.from_pydata (myVerticles2, [] , myFaces2)
myVerticles = [(0,0,0)] myEdges = []
for i in range (0,25): randPosX, randPosY, randPosZ = random.uniform(-50,50),random.uniform(-50,50),random.uniform(-50,50) c myEdges.append((i,i+1))
myMesh = bpy.data.meshes.new(‘mikadoMesh’) myObject = bpy.data.objects.new(‘mikado’, myMesh)
myCollection = bpy.context.collection myCollection.objects.link(myObject)
myMesh.from_pydata (myVerticles, myEdges , [])
l:length of note myVerticles = [(x,y,z),(x+l,y,z),(x+l,0,z),(x,0,z),(x,y,0),(x+l,y,0),(x+l,0,0),(x,0,0)] myFaces = [(0,1,2,3),(0,1,5,4),(1,2,6,5),(2,3,7,6),(3,0,4,7),(4,5,6,7)]
(x,y,z,l)=(23,2,6,1.5) myVerticles = [(x,y,z),(x+l,y,z),(x+l,0,z),(x,0,z),(x,y,0),(x+l,y,0),(x+l,0,0),(x,0,0)] myFaces = [(0,1,2,3),(0,1,5,4),(1,2,6,5),(2,3,7,6),(3,0,4,7),(4,5,6,7)]
key in B (X,Y,Z,L)=(1,3,21,2) (x,y,z,l)=(X-Y/2,Y,Z,L) myVerticles = [(x,y,z),(x+l,y,z),(x+l,0,z),(x,0,z),(x,y,0),(x+l,y,0),(x+l,0,0),(x,0,0)] myFaces = [(0,1,2,3),(0,1,5,4),(1,2,6,5),(2,3,7,6),(3,0,4,7),(4,5,6,7)]
List(theme) (1,3,21,2),(23,2,6,1.5),(24.5,3,9,2.5),(49,1,18,2),(51,2,18,1),(52,3,21,4.5),(65,1,23,1.5),(66.5,3,23,1)
key in E (X,Y,Z,L)=(200,2,10,3/2) (x,y,z,l)=(((-1)(X+Y(3(1/2)))/2,((3(1/2))*X-Y)/2,Z,L)) myVerticles = [(x,y,z),(x+l,y,z),(x+l,0,z),(x,0,z),(x,y,0),(x+l,y,0),(x+l,0,0),(x,0,0)] myFaces = [(0,1,2,3),(0,1,5,4),(1,2,6,5),(2,3,7,6),(3,0,4,7),(4,5,6,7)]
List(theme) (7,2,10,1),(8.5,3,13,2.5),(19,2,13,2),(21,3,10,2),(29,1,10,2),(31,2,8,1.5),(32,3,13,4.5),(53,1,22,2),(55,2,22,1),(56,3,25,4.5)
key in G (X,Y,Z,L)=(3,2,17,2) (x,y,z,l)=((X-Y(3(1/2))(-1)0.5,((3(1/2))X-+Y)(-1)0.5,Z,L)) myVerticles = [(x,y,z),(x+l,y,z),(x+l,0,z),(x,0,z),(x,y,0),(x+l,y,0),(x+l,0,0),(x,0,0)] myFaces = [(0,1,2,3),(0,1,5,4),(1,2,6,5),(2,3,7,6),(3,0,4,7),(4,5,6,7)]
bpy.ops.transform.rotate(value=math.pii120/360,orient_axis=’Z’)